This package contains classes related to creating immutable collections, particularly an immutable list. The java.util package already contains unmodifiable wrapper objects for all of its collection classes but these have two problems. First, they cannot remove the mutator methods present in the collection interfaces themselves. This means that, for example, the Collection.add() method is present even though it must not be called at runtime. Second, they do not support operations that work on collections as a whole such as applying an operation or searching for an item.