Interface XProcessingCollection<E>

All Superinterfaces:
CapacityCarrying, Clearable, ConsolidatableCollection, Copyable, ExtendedCollection<E>, Iterable<E>, OptimizableCollection, Processable<E>, ReleasingCollection<E>, Sized, Truncateable, XGettingCollection<E>, XIterable<E>, XJoinable<E>, XRemovingCollection<E>
All Known Subinterfaces:
XBag<E>, XBasicEnum<E>, XBasicList<E>, XBasicSequence<E>, XBasicTable<K,​V>, XBasicTable.Keys<K,​V>, XBasicTable.Values<K,​V>, XChart<K,​V>, XChart.Keys<K,​V>, XChart.Values<K,​V>, XCollection<E>, XDecreasingEnum<E>, XDecreasingList<E>, XDecreasingSequence<E>, XEnum<E>, XLadder<E>, XList<E>, XMap<K,​V>, XMap.Keys<K,​V>, XMap.Values<K,​V>, XProcessingBag<E>, XProcessingEnum<E>, XProcessingList<E>, XProcessingMap.Keys<K,​V>, XProcessingMap.Values<K,​V>, XProcessingSequence<E>, XProcessingSet<E>, XProcessingSortation<E>, XRank<E>, XSequence<E>, XSet<E>, XSortation<E>, XTable<K,​V>, XTable.Keys<K,​V>, XTable.Values<K,​V>
All Known Implementing Classes:
ArrayCollector, BulkList, EnumProcessor, EqBulkList, EqHashEnum, EqHashTable, EqHashTable.Keys, EqHashTable.Values, HashEnum, HashTable, HashTable.Keys, HashTable.Values, LimitList, ListProcessor, LockedCollection, LockedList, LockedMap, MutexSet, OpenAdressingMiniSet, Single, SubList, SubListProcessor, SubProcessor, SynchCollection, SynchList, SynchSet

public interface XProcessingCollection<E>
extends Processable<E>, XRemovingCollection<E>, XGettingCollection<E>
Curiously, a removing collection has to be a getting collection as well, because some removal procedures could be abused to read the contained elements (e.g. retrieveBy(Predicate)). Splitting it up into a (pure) RemovingCollection and a RemGetCollection would cause more structural clutter than it's worth.