This package contains implementations of the {@link java.util.List List} interface.

The following implementations are provided in the package:

- TreeList - a list that is optimised for insertions and removals at any index in the list
- CursorableLinkedList - a list that can be modified while the listIterator (cursor) is being used
- NodeCachingLinkedList - a linked list that caches the storage nodes for a performance gain

The following decorators are provided in the package:

- Synchronized - synchronizes method access for multi-threaded environments
- Unmodifiable - ensures the collection cannot be altered
- Predicated - ensures that only elements that are valid according to a predicate can be added
- Typed - ensures that only elements that are of a specific type can be added
- Transformed - transforms each element added
- FixedSize - ensures that the size of the list cannot change
- Lazy - creates objects in the list on demand
- Growth - grows the list instead of erroring when set/add used with index beyond the list size
- SetUnique - a list that avoids duplicate entries like a Set