/** @serialData the factory and the backing map */ @GwtIncompatible // java.io.ObjectOutputStream private void writeObject(ObjectOutputStream stream) throws IOException { stream.defaultWriteObject(); stream.writeObject(factory); stream.writeObject(backingMap()); }
@GwtIncompatible // java.io.ObjectInputStream @SuppressWarnings("unchecked") // reading data stored by writeObject private void readObject(ObjectInputStream stream) throws IOException, ClassNotFoundException { stream.defaultReadObject(); factory = (Supplier<? extends Collection<V>>) stream.readObject(); Map<K, Collection<V>> map = (Map<K, Collection<V>>) stream.readObject(); setMap(map); }
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
return new CustomMultimap<K, V>(map, factory);
@Override Collection<V> wrapCollection(K key, Collection<V> collection) { if (collection instanceof List) { return wrapList(key, (List<V>) collection, null); } else if (collection instanceof NavigableSet) { return new WrappedNavigableSet(key, (NavigableSet<V>) collection, null); } else if (collection instanceof SortedSet) { return new WrappedSortedSet(key, (SortedSet<V>) collection, null); } else if (collection instanceof Set) { return new WrappedSet(key, (Set<V>) collection); } else { return new WrappedCollection(key, collection, null); } }
@Override Collection<V> wrapCollection(K key, Collection<V> collection) { if (collection instanceof List) { return wrapList(key, (List<V>) collection, null); } else if (collection instanceof NavigableSet) { return new WrappedNavigableSet(key, (NavigableSet<V>) collection, null); } else if (collection instanceof SortedSet) { return new WrappedSortedSet(key, (SortedSet<V>) collection, null); } else if (collection instanceof Set) { return new WrappedSet(key, (Set<V>) collection); } else { return new WrappedCollection(key, collection, null); } }