android/guava/src/com/google/common/collect/HashMultimap.java
public static <K, V> HashMultimap<K, V> create(Multimap<? extends K, ? extends V> multimap) {
    return new HashMultimap<>(multimap);
  }
public static <K, V> HashMultimap<K, V> create(Multimap<? extends K, ? extends V> multimap) {
    return new HashMultimap<>(multimap);
  }
public static < K , V > HashMultimap < K , V > create ( Multimap < ? extends K , ? extends V > multimap ) { return new HashMultimap <> ( multimap ) ; }
Constructs a {@code HashMultimap} with the same mappings as the specified multimap. If a
key-value mapping appears multiple times in the input multimap, it only appears once in the
constructed multimap.

<p>This method will soon be deprecated in favor of {@code
MultimapBuilder.hashKeys().hashSetValues().build(multimap)}.

@param multimap the multimap whose contents are copied to this multimap
Constructs a { @code HashMultimap } with the same mappings as the specified multimap . If a key - value mapping appears multiple times in the input multimap it only appears once in the constructed multimap .