This package contains implementations of the {@link java.util.Set Set} and {@link java.util.SortedSet SortedSet} interfaces.

The implementations are in the form of direct implementations and decorators. A decorator wraps another implementation of the interface to add some specific additional functionality.

The following implementations are provided in the package:

- CompositeSet - a set that combines multiple sets into one

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
- Ordered - ensures that insertion order is retained