I propose that an IndexedCollection is added, which has the following properties
- IndexedCollection<K,C> implements Collection<C>, Map<K,C>
- Contains a Transformer<C,K> for determining the keys
- Presents as an unmodifiableMap (all manipulation must be done through the collection)
- It will need constructors for unique indexes (Map) and non-unique (Map<K,Collection<V>> / MultiMap).