Class UnmodifiableBag<T>
- java.lang.Object
-
- org.eclipse.collections.impl.collection.mutable.AbstractUnmodifiableMutableCollection<T>
-
- org.eclipse.collections.impl.bag.mutable.UnmodifiableBag<T>
-
- All Implemented Interfaces:
Serializable,Iterable<T>,Collection<T>,Bag<T>,MutableBag<T>,MutableBagIterable<T>,UnsortedBag<T>,MutableCollection<T>,InternalIterable<T>,RichIterable<T>
public class UnmodifiableBag<T> extends AbstractUnmodifiableMutableCollection<T> implements MutableBag<T>, Serializable
An unmodifiable view of a bag.- Since:
- 1.0
- See Also:
MutableBag.asUnmodifiable(), Serialized Form
-
-
Method Summary
-
Methods inherited from class org.eclipse.collections.impl.collection.mutable.AbstractUnmodifiableMutableCollection
add, addAll, addAllIterable, allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, clear, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsNone, containsNoneIterable, count, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, forEachWith, forEachWithIndex, getFirst, getLast, getOnly, groupBy, groupByEach, groupByUniqueKey, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoWith, into, isEmpty, iterator, makeString, makeString, makeString, max, max, maxBy, min, min, minBy, noneSatisfy, noneSatisfyWith, notEmpty, reject, rejectWith, remove, removeAll, removeAllIterable, removeIf, removeIfWith, retainAll, retainAllIterable, select, selectAndRejectWith, selectWith, size, sumByDouble, sumByFloat, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedList, toSortedList, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toString, zip, zipWithIndex
-
Methods inherited from interface org.eclipse.collections.api.bag.Bag
aggregateBy, reduceInPlace, reduceInPlace, summarizeDouble, summarizeFloat, summarizeInt, summarizeLong
-
Methods inherited from interface java.util.Collection
add, addAll, clear, contains, containsAll, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Methods inherited from interface org.eclipse.collections.api.InternalIterable
forEach, forEachWith, forEachWithIndex
-
Methods inherited from interface org.eclipse.collections.api.bag.MutableBag
countBy, countByEach, countByWith, flatCollectWith, selectDuplicates, toImmutableBag
-
Methods inherited from interface org.eclipse.collections.api.collection.MutableCollection
addAllIterable, aggregateBy, aggregateInPlaceBy, flatCollectWith, groupByUniqueKey, injectIntoWith, removeAllIterable, removeIf, removeIfWith, retainAllIterable, selectAndRejectWith, sumByDouble, sumByFloat
-
Methods inherited from interface org.eclipse.collections.api.RichIterable
allSatisfy, allSatisfyWith, anySatisfy, anySatisfyWith, appendString, appendString, appendString, asLazy, chunk, collect, collectBoolean, collectByte, collectChar, collectDouble, collectFloat, collectIf, collectInt, collectLong, collectShort, collectWith, contains, containsAll, containsAllArguments, containsAllIterable, containsAny, containsAnyIterable, containsBy, containsNone, containsNoneIterable, count, countBy, countByEach, countByWith, countWith, detect, detectIfNone, detectOptional, detectWith, detectWithIfNone, detectWithOptional, each, flatCollect, flatCollectBoolean, flatCollectByte, flatCollectChar, flatCollectDouble, flatCollectFloat, flatCollectInt, flatCollectLong, flatCollectShort, flatCollectWith, forEach, getAny, getFirst, getLast, getOnly, groupBy, groupByAndCollect, groupByEach, groupByUniqueKey, injectInto, injectInto, injectInto, injectInto, injectInto, injectIntoDouble, injectIntoFloat, injectIntoInt, injectIntoLong, into, isEmpty, makeString, makeString, makeString, makeString, max, max, maxBy, maxByOptional, maxOptional, maxOptional, min, min, minBy, minByOptional, minOptional, minOptional, noneSatisfy, noneSatisfyWith, notEmpty, reduce, reject, rejectWith, select, selectWith, size, sumOfDouble, sumOfFloat, sumOfInt, sumOfLong, toArray, toArray, toBag, toBiMap, toImmutableBiMap, toImmutableList, toImmutableMap, toImmutableSet, toImmutableSortedBag, toImmutableSortedBag, toImmutableSortedBagBy, toImmutableSortedList, toImmutableSortedList, toImmutableSortedListBy, toImmutableSortedSet, toImmutableSortedSet, toImmutableSortedSetBy, toList, toMap, toMap, toSet, toSortedBag, toSortedBag, toSortedBagBy, toSortedList, toSortedList, toSortedListBy, toSortedMap, toSortedMap, toSortedMapBy, toSortedSet, toSortedSet, toSortedSetBy, toString, zip, zipWithIndex
-
-
-
-
Method Detail
-
of
public static <E,B extends MutableBag<E>> UnmodifiableBag<E> of(B bag)
This method will take a MutableBag and wrap it directly in a UnmodifiableBag.
-
asUnmodifiable
public MutableBag<T> asUnmodifiable()
- Specified by:
asUnmodifiablein interfaceMutableBag<T>- Specified by:
asUnmodifiablein interfaceMutableCollection<T>- Overrides:
asUnmodifiablein classAbstractUnmodifiableMutableCollection<T>
-
asSynchronized
public MutableBag<T> asSynchronized()
- Specified by:
asSynchronizedin interfaceMutableBag<T>- Specified by:
asSynchronizedin interfaceMutableCollection<T>- Overrides:
asSynchronizedin classAbstractUnmodifiableMutableCollection<T>
-
toImmutable
public ImmutableBag<T> toImmutable()
- Specified by:
toImmutablein interfaceBag<T>- Specified by:
toImmutablein interfaceMutableBag<T>- Specified by:
toImmutablein interfaceMutableCollection<T>- Overrides:
toImmutablein classAbstractUnmodifiableMutableCollection<T>
-
equals
public boolean equals(Object obj)
-
hashCode
public int hashCode()
-
toStringOfItemToCount
public String toStringOfItemToCount()
- Specified by:
toStringOfItemToCountin interfaceBag<T>
-
newEmpty
public MutableBag<T> newEmpty()
- Specified by:
newEmptyin interfaceMutableBag<T>- Specified by:
newEmptyin interfaceMutableCollection<T>- Overrides:
newEmptyin classAbstractUnmodifiableMutableCollection<T>
-
selectByOccurrences
public MutableBag<T> selectByOccurrences(IntPredicate predicate)
- Specified by:
selectByOccurrencesin interfaceBag<T>- Specified by:
selectByOccurrencesin interfaceMutableBag<T>- Specified by:
selectByOccurrencesin interfaceMutableBagIterable<T>- Specified by:
selectByOccurrencesin interfaceUnsortedBag<T>
-
tap
public MutableBag<T> tap(Procedure<? super T> procedure)
- Specified by:
tapin interfaceBag<T>- Specified by:
tapin interfaceMutableBag<T>- Specified by:
tapin interfaceMutableBagIterable<T>- Specified by:
tapin interfaceMutableCollection<T>- Specified by:
tapin interfaceRichIterable<T>- Specified by:
tapin interfaceUnsortedBag<T>- Overrides:
tapin classAbstractUnmodifiableMutableCollection<T>
-
select
public MutableBag<T> select(Predicate<? super T> predicate)
- Specified by:
selectin interfaceBag<T>- Specified by:
selectin interfaceMutableBag<T>- Specified by:
selectin interfaceMutableBagIterable<T>- Specified by:
selectin interfaceMutableCollection<T>- Specified by:
selectin interfaceRichIterable<T>- Specified by:
selectin interfaceUnsortedBag<T>- Overrides:
selectin classAbstractUnmodifiableMutableCollection<T>
-
selectWith
public <P> MutableBag<T> selectWith(Predicate2<? super T,? super P> predicate, P parameter)
- Specified by:
selectWithin interfaceBag<T>- Specified by:
selectWithin interfaceMutableBag<T>- Specified by:
selectWithin interfaceMutableBagIterable<T>- Specified by:
selectWithin interfaceMutableCollection<T>- Specified by:
selectWithin interfaceRichIterable<T>- Specified by:
selectWithin interfaceUnsortedBag<T>- Overrides:
selectWithin classAbstractUnmodifiableMutableCollection<T>
-
reject
public MutableBag<T> reject(Predicate<? super T> predicate)
- Specified by:
rejectin interfaceBag<T>- Specified by:
rejectin interfaceMutableBag<T>- Specified by:
rejectin interfaceMutableBagIterable<T>- Specified by:
rejectin interfaceMutableCollection<T>- Specified by:
rejectin interfaceRichIterable<T>- Specified by:
rejectin interfaceUnsortedBag<T>- Overrides:
rejectin classAbstractUnmodifiableMutableCollection<T>
-
rejectWith
public <P> MutableBag<T> rejectWith(Predicate2<? super T,? super P> predicate, P parameter)
- Specified by:
rejectWithin interfaceBag<T>- Specified by:
rejectWithin interfaceMutableBag<T>- Specified by:
rejectWithin interfaceMutableBagIterable<T>- Specified by:
rejectWithin interfaceMutableCollection<T>- Specified by:
rejectWithin interfaceRichIterable<T>- Specified by:
rejectWithin interfaceUnsortedBag<T>- Overrides:
rejectWithin classAbstractUnmodifiableMutableCollection<T>
-
partition
public PartitionMutableBag<T> partition(Predicate<? super T> predicate)
- Specified by:
partitionin interfaceBag<T>- Specified by:
partitionin interfaceMutableBag<T>- Specified by:
partitionin interfaceMutableBagIterable<T>- Specified by:
partitionin interfaceMutableCollection<T>- Specified by:
partitionin interfaceRichIterable<T>- Specified by:
partitionin interfaceUnsortedBag<T>- Overrides:
partitionin classAbstractUnmodifiableMutableCollection<T>
-
partitionWith
public <P> PartitionMutableBag<T> partitionWith(Predicate2<? super T,? super P> predicate, P parameter)
- Specified by:
partitionWithin interfaceBag<T>- Specified by:
partitionWithin interfaceMutableBag<T>- Specified by:
partitionWithin interfaceMutableBagIterable<T>- Specified by:
partitionWithin interfaceMutableCollection<T>- Specified by:
partitionWithin interfaceRichIterable<T>- Overrides:
partitionWithin classAbstractUnmodifiableMutableCollection<T>
-
selectInstancesOf
public <S> MutableBag<S> selectInstancesOf(Class<S> clazz)
- Specified by:
selectInstancesOfin interfaceBag<T>- Specified by:
selectInstancesOfin interfaceMutableBag<T>- Specified by:
selectInstancesOfin interfaceMutableBagIterable<T>- Specified by:
selectInstancesOfin interfaceMutableCollection<T>- Specified by:
selectInstancesOfin interfaceRichIterable<T>- Specified by:
selectInstancesOfin interfaceUnsortedBag<T>- Overrides:
selectInstancesOfin classAbstractUnmodifiableMutableCollection<T>
-
collect
public <V> MutableBag<V> collect(Function<? super T,? extends V> function)
- Specified by:
collectin interfaceMutableBag<T>- Specified by:
collectin interfaceMutableCollection<T>- Specified by:
collectin interfaceRichIterable<T>- Specified by:
collectin interfaceUnsortedBag<T>- Overrides:
collectin classAbstractUnmodifiableMutableCollection<T>
-
collectBoolean
public MutableBooleanBag collectBoolean(BooleanFunction<? super T> booleanFunction)
- Specified by:
collectBooleanin interfaceMutableBag<T>- Specified by:
collectBooleanin interfaceMutableCollection<T>- Specified by:
collectBooleanin interfaceRichIterable<T>- Specified by:
collectBooleanin interfaceUnsortedBag<T>- Overrides:
collectBooleanin classAbstractUnmodifiableMutableCollection<T>
-
collectByte
public MutableByteBag collectByte(ByteFunction<? super T> byteFunction)
- Specified by:
collectBytein interfaceMutableBag<T>- Specified by:
collectBytein interfaceMutableCollection<T>- Specified by:
collectBytein interfaceRichIterable<T>- Specified by:
collectBytein interfaceUnsortedBag<T>- Overrides:
collectBytein classAbstractUnmodifiableMutableCollection<T>
-
collectChar
public MutableCharBag collectChar(CharFunction<? super T> charFunction)
- Specified by:
collectCharin interfaceMutableBag<T>- Specified by:
collectCharin interfaceMutableCollection<T>- Specified by:
collectCharin interfaceRichIterable<T>- Specified by:
collectCharin interfaceUnsortedBag<T>- Overrides:
collectCharin classAbstractUnmodifiableMutableCollection<T>
-
collectDouble
public MutableDoubleBag collectDouble(DoubleFunction<? super T> doubleFunction)
- Specified by:
collectDoublein interfaceMutableBag<T>- Specified by:
collectDoublein interfaceMutableCollection<T>- Specified by:
collectDoublein interfaceRichIterable<T>- Specified by:
collectDoublein interfaceUnsortedBag<T>- Overrides:
collectDoublein classAbstractUnmodifiableMutableCollection<T>
-
collectFloat
public MutableFloatBag collectFloat(FloatFunction<? super T> floatFunction)
- Specified by:
collectFloatin interfaceMutableBag<T>- Specified by:
collectFloatin interfaceMutableCollection<T>- Specified by:
collectFloatin interfaceRichIterable<T>- Specified by:
collectFloatin interfaceUnsortedBag<T>- Overrides:
collectFloatin classAbstractUnmodifiableMutableCollection<T>
-
collectInt
public MutableIntBag collectInt(IntFunction<? super T> intFunction)
- Specified by:
collectIntin interfaceMutableBag<T>- Specified by:
collectIntin interfaceMutableCollection<T>- Specified by:
collectIntin interfaceRichIterable<T>- Specified by:
collectIntin interfaceUnsortedBag<T>- Overrides:
collectIntin classAbstractUnmodifiableMutableCollection<T>
-
collectLong
public MutableLongBag collectLong(LongFunction<? super T> longFunction)
- Specified by:
collectLongin interfaceMutableBag<T>- Specified by:
collectLongin interfaceMutableCollection<T>- Specified by:
collectLongin interfaceRichIterable<T>- Specified by:
collectLongin interfaceUnsortedBag<T>- Overrides:
collectLongin classAbstractUnmodifiableMutableCollection<T>
-
collectShort
public MutableShortBag collectShort(ShortFunction<? super T> shortFunction)
- Specified by:
collectShortin interfaceMutableBag<T>- Specified by:
collectShortin interfaceMutableCollection<T>- Specified by:
collectShortin interfaceRichIterable<T>- Specified by:
collectShortin interfaceUnsortedBag<T>- Overrides:
collectShortin classAbstractUnmodifiableMutableCollection<T>
-
flatCollect
public <V> MutableBag<V> flatCollect(Function<? super T,? extends Iterable<V>> function)
- Specified by:
flatCollectin interfaceMutableBag<T>- Specified by:
flatCollectin interfaceMutableCollection<T>- Specified by:
flatCollectin interfaceRichIterable<T>- Specified by:
flatCollectin interfaceUnsortedBag<T>- Overrides:
flatCollectin classAbstractUnmodifiableMutableCollection<T>
-
topOccurrences
public MutableList<ObjectIntPair<T>> topOccurrences(int count)
- Specified by:
topOccurrencesin interfaceBag<T>- Specified by:
topOccurrencesin interfaceMutableBagIterable<T>
-
bottomOccurrences
public MutableList<ObjectIntPair<T>> bottomOccurrences(int count)
- Specified by:
bottomOccurrencesin interfaceBag<T>- Specified by:
bottomOccurrencesin interfaceMutableBagIterable<T>
-
collectWithOccurrences
public <V> MutableBag<V> collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function)
- Specified by:
collectWithOccurrencesin interfaceBag<T>- Specified by:
collectWithOccurrencesin interfaceMutableBag<T>- Specified by:
collectWithOccurrencesin interfaceMutableBagIterable<T>- Specified by:
collectWithOccurrencesin interfaceUnsortedBag<T>
-
collectWith
public <P,A> MutableBag<A> collectWith(Function2<? super T,? super P,? extends A> function, P parameter)
- Specified by:
collectWithin interfaceMutableBag<T>- Specified by:
collectWithin interfaceMutableCollection<T>- Specified by:
collectWithin interfaceRichIterable<T>- Specified by:
collectWithin interfaceUnsortedBag<T>- Overrides:
collectWithin classAbstractUnmodifiableMutableCollection<T>
-
collectIf
public <V> MutableBag<V> collectIf(Predicate<? super T> predicate, Function<? super T,? extends V> function)
- Specified by:
collectIfin interfaceMutableBag<T>- Specified by:
collectIfin interfaceMutableCollection<T>- Specified by:
collectIfin interfaceRichIterable<T>- Specified by:
collectIfin interfaceUnsortedBag<T>- Overrides:
collectIfin classAbstractUnmodifiableMutableCollection<T>
-
groupBy
public <V> MutableBagMultimap<V,T> groupBy(Function<? super T,? extends V> function)
- Specified by:
groupByin interfaceBag<T>- Specified by:
groupByin interfaceMutableBag<T>- Specified by:
groupByin interfaceMutableBagIterable<T>- Specified by:
groupByin interfaceMutableCollection<T>- Specified by:
groupByin interfaceRichIterable<T>- Specified by:
groupByin interfaceUnsortedBag<T>- Overrides:
groupByin classAbstractUnmodifiableMutableCollection<T>
-
groupByEach
public <V> MutableBagMultimap<V,T> groupByEach(Function<? super T,? extends Iterable<V>> function)
- Specified by:
groupByEachin interfaceBag<T>- Specified by:
groupByEachin interfaceMutableBag<T>- Specified by:
groupByEachin interfaceMutableBagIterable<T>- Specified by:
groupByEachin interfaceMutableCollection<T>- Specified by:
groupByEachin interfaceRichIterable<T>- Specified by:
groupByEachin interfaceUnsortedBag<T>- Overrides:
groupByEachin classAbstractUnmodifiableMutableCollection<T>
-
addOccurrences
public int addOccurrences(T item, int occurrences)
- Specified by:
addOccurrencesin interfaceMutableBagIterable<T>
-
removeOccurrences
public boolean removeOccurrences(Object item, int occurrences)
- Specified by:
removeOccurrencesin interfaceMutableBagIterable<T>
-
setOccurrences
public boolean setOccurrences(T item, int occurrences)
- Specified by:
setOccurrencesin interfaceMutableBagIterable<T>
-
sizeDistinct
public int sizeDistinct()
- Specified by:
sizeDistinctin interfaceBag<T>
-
occurrencesOf
public int occurrencesOf(Object item)
- Specified by:
occurrencesOfin interfaceBag<T>
-
forEachWithOccurrences
public void forEachWithOccurrences(ObjectIntProcedure<? super T> objectIntProcedure)
- Specified by:
forEachWithOccurrencesin interfaceBag<T>
-
anySatisfyWithOccurrences
public boolean anySatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
- Specified by:
anySatisfyWithOccurrencesin interfaceBag<T>
-
allSatisfyWithOccurrences
public boolean allSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
- Specified by:
allSatisfyWithOccurrencesin interfaceBag<T>
-
noneSatisfyWithOccurrences
public boolean noneSatisfyWithOccurrences(ObjectIntPredicate<? super T> predicate)
- Specified by:
noneSatisfyWithOccurrencesin interfaceBag<T>
-
detectWithOccurrences
public T detectWithOccurrences(ObjectIntPredicate<? super T> predicate)
- Specified by:
detectWithOccurrencesin interfaceBag<T>
-
collectWithOccurrences
public <V,R extends Collection<V>> R collectWithOccurrences(ObjectIntToObjectFunction<? super T,? extends V> function, R target)
- Specified by:
collectWithOccurrencesin interfaceBag<T>- Since:
- 9.1.
-
toMapOfItemToCount
public MutableMap<T,Integer> toMapOfItemToCount()
- Specified by:
toMapOfItemToCountin interfaceBag<T>- Specified by:
toMapOfItemToCountin interfaceMutableBag<T>- Specified by:
toMapOfItemToCountin interfaceMutableBagIterable<T>
-
zip
@Deprecated public <S> MutableBag<Pair<T,S>> zip(Iterable<S> that)
Deprecated.in 6.0. UseOrderedIterable.zip(Iterable)instead.- Specified by:
zipin interfaceMutableBag<T>- Specified by:
zipin interfaceMutableCollection<T>- Specified by:
zipin interfaceRichIterable<T>- Specified by:
zipin interfaceUnsortedBag<T>- Overrides:
zipin classAbstractUnmodifiableMutableCollection<T>
-
zipWithIndex
@Deprecated public MutableSet<Pair<T,Integer>> zipWithIndex()
Deprecated.in 6.0. UseOrderedIterable.zipWithIndex()instead.- Specified by:
zipWithIndexin interfaceBag<T>- Specified by:
zipWithIndexin interfaceMutableBag<T>- Specified by:
zipWithIndexin interfaceMutableBagIterable<T>- Specified by:
zipWithIndexin interfaceMutableCollection<T>- Specified by:
zipWithIndexin interfaceRichIterable<T>- Specified by:
zipWithIndexin interfaceUnsortedBag<T>- Overrides:
zipWithIndexin classAbstractUnmodifiableMutableCollection<T>
-
with
public MutableBag<T> with(T element)
- Specified by:
within interfaceMutableBag<T>- Specified by:
within interfaceMutableBagIterable<T>- Specified by:
within interfaceMutableCollection<T>- Overrides:
within classAbstractUnmodifiableMutableCollection<T>
-
without
public MutableBag<T> without(T element)
- Specified by:
withoutin interfaceMutableBag<T>- Specified by:
withoutin interfaceMutableBagIterable<T>- Specified by:
withoutin interfaceMutableCollection<T>- Overrides:
withoutin classAbstractUnmodifiableMutableCollection<T>
-
withAll
public MutableBag<T> withAll(Iterable<? extends T> elements)
- Specified by:
withAllin interfaceMutableBag<T>- Specified by:
withAllin interfaceMutableBagIterable<T>- Specified by:
withAllin interfaceMutableCollection<T>- Overrides:
withAllin classAbstractUnmodifiableMutableCollection<T>
-
withoutAll
public MutableBag<T> withoutAll(Iterable<? extends T> elements)
- Specified by:
withoutAllin interfaceMutableBag<T>- Specified by:
withoutAllin interfaceMutableBagIterable<T>- Specified by:
withoutAllin interfaceMutableCollection<T>- Overrides:
withoutAllin classAbstractUnmodifiableMutableCollection<T>
-
selectUnique
public MutableSet<T> selectUnique()
- Specified by:
selectUniquein interfaceBag<T>- Specified by:
selectUniquein interfaceMutableBag<T>- Specified by:
selectUniquein interfaceMutableBagIterable<T>- Specified by:
selectUniquein interfaceUnsortedBag<T>
-
sumByInt
public <V> MutableObjectLongMap<V> sumByInt(Function<? super T,? extends V> groupBy, IntFunction<? super T> function)
- Specified by:
sumByIntin interfaceMutableCollection<T>- Specified by:
sumByIntin interfaceRichIterable<T>- Overrides:
sumByIntin classAbstractUnmodifiableMutableCollection<T>
-
sumByLong
public <V> MutableObjectLongMap<V> sumByLong(Function<? super T,? extends V> groupBy, LongFunction<? super T> function)
- Specified by:
sumByLongin interfaceMutableCollection<T>- Specified by:
sumByLongin interfaceRichIterable<T>- Overrides:
sumByLongin classAbstractUnmodifiableMutableCollection<T>
-
distinctView
public RichIterable<T> distinctView()
- Specified by:
distinctViewin interfaceBag<T>
-
-