Collector.Characteristics.UNORDERED); @MonotonicNonNull private EnumSet<E> set;
private static class SynchronizedAsMap<K, V> extends SynchronizedMap<K, Collection<V>> { @MonotonicNonNull transient Set<Entry<K, Collection<V>>> asMapEntrySet; @MonotonicNonNull transient Collection<Collection<V>> asMapValues;
private static class SynchronizedSetMultimap<K, V> extends SynchronizedMultimap<K, V> implements SetMultimap<K, V> { @MonotonicNonNull transient Set<Entry<K, V>> entrySet;
static final class MultisetIteratorImpl<E> implements Iterator<E> { private final Multiset<E> multiset; private final Iterator<Entry<E>> entryIterator; @MonotonicNonNull private Entry<E> currentEntry;
private static final long serialVersionUID = 1; transient @MonotonicNonNull LoadingCache<K, V> autoDelegate;
@MonotonicNonNull transient Set<E> elementSet; @MonotonicNonNull transient Set<Multiset.Entry<E>> entrySet;
/** * Abstract set whose {@code isEmpty()} returns whether the table is empty and whose {@code * clear()} clears all table mappings. */ @WeakOuter private abstract class TableSet<T> extends ImprovedAbstractSet<T> { @Override public boolean isEmpty() { return backingMap.isEmpty(); } @Override public void clear() { backingMap.clear(); } }
private static class SynchronizedMultiset<E> extends SynchronizedCollection<E> implements Multiset<E> { @MonotonicNonNull transient Set<E> elementSet; @MonotonicNonNull transient Set<Entry<E>> entrySet;
private transient @MonotonicNonNull UnmodifiableNavigableSet<E> descendingSet;
private static class UnmodifiableMultimap<K, V> extends ForwardingMultimap<K, V> implements Serializable { final Multimap<K, V> delegate; @MonotonicNonNull transient Collection<Entry<K, V>> entries; @MonotonicNonNull transient Multiset<K> keys; @MonotonicNonNull transient Set<K> keySet; @MonotonicNonNull transient Collection<V> values; @MonotonicNonNull transient Map<K, Collection<V>> map;
private transient @MonotonicNonNull Set<Entry<K, V>> entrySet; private transient @MonotonicNonNull Set<K> keySet; private transient @MonotonicNonNull Collection<V> values;
@MonotonicNonNull private volatile FileSessionCredentialsProvider provider;
private static class SynchronizedMultimap<K, V> extends SynchronizedObject implements Multimap<K, V> { @MonotonicNonNull transient Set<K> keySet; @MonotonicNonNull transient Collection<V> valuesCollection; @MonotonicNonNull transient Collection<Entry<K, V>> entries; @MonotonicNonNull transient Map<K, Collection<V>> asMap; @MonotonicNonNull transient Multiset<K> keys;
@MonotonicNonNull Comparator<? super K> keyComparator; @MonotonicNonNull Comparator<? super V> valueComparator;
@MonotonicNonNull Comparator<? super V> valueComparator; Entry<K, V>[] entries; int size;
private static class SynchronizedMap<K, V> extends SynchronizedObject implements Map<K, V> { @MonotonicNonNull transient Set<K> keySet; @MonotonicNonNull transient Collection<V> values; @MonotonicNonNull transient Set<Entry<K, V>> entrySet;
final Map<K, V> unmodifiableMap; final BiMap<? extends K, ? extends V> delegate; @MonotonicNonNull @RetainedWith BiMap<V, K> inverse; @MonotonicNonNull transient Set<V> values;
private abstract class Itr<T> implements Iterator<T> { int expectedModCount = modCount; int currentIndex = firstEntryIndex(); int indexToRemove = -1; @Override public boolean hasNext() { return currentIndex >= 0; } abstract T getOutput(int entry); @Override public T next() { checkForConcurrentModification(); if (!hasNext()) { throw new NoSuchElementException(); } indexToRemove = currentIndex; T result = getOutput(currentIndex); currentIndex = getSuccessor(currentIndex); return result; } @Override public void remove() { checkForConcurrentModification(); checkRemove(indexToRemove >= 0); expectedModCount++; removeEntry(indexToRemove);
static final NaturalOrdering INSTANCE = new NaturalOrdering(); private transient @MonotonicNonNull Ordering<Comparable> nullsFirst; private transient @MonotonicNonNull Ordering<Comparable> nullsLast;
@VisibleForTesting static class SynchronizedBiMap<K, V> extends SynchronizedMap<K, V> implements BiMap<K, V>, Serializable { private transient @MonotonicNonNull Set<V> valueSet; @MonotonicNonNull @RetainedWith private transient BiMap<V, K> inverse;