The Java Collections framework defines interfaces such as java.util.List or java.util.Map. Several implementation classes
are provided for each of those interfaces to fill different needs: some of the implementations guarantee a few given performance characteristics, some
others ensure a given behavior, for example immutability.
Among the methods defined by the interfaces of the Collections framework, some are declared as "optional": an implementation class may choose to
throw an UnsupportedOperationException when one of those methods is called. For example, java.util.Collections.emptyList()
returns an implementation of java.util.List which is documented as "immutable". Calling the add method on this object
triggers an UnsupportedOperationException.
What is the potential impact?
Issues of this type interrupt the normal execution of a program, causing it to crash or putting it into an inconsistent state. Therefore, this
issue might impact the availability and reliability of your application, or even result in data loss.