public static <K, V> ImmutableSetMultimap<K, V> copyOf(
      Multimap<? extends K, ? extends V> multimap) {
    """
	Returns an immutable set multimap containing the same mappings as {@code multimap}. The
	generated multimap's key and value orderings correspond to the iteration ordering of the {@code
	multimap.asMap()} view. Repeated occurrences of an entry in the multimap after the first are
	ignored.
	
	<p>Despite the method name, this method attempts to avoid actually copying the data when it is
	safe to do so. The exact circumstances under which a copy will or will not be performed are
	undocumented and subject to change.
	
	@throws NullPointerException if any key or value in {@code multimap} is null
    """
    return copyOf(multimap, null);
  }
public static <K, V> ImmutableSetMultimap<K, V> copyOf(
      Multimap<? extends K, ? extends V> multimap) {
    return copyOf(multimap, null);
  }
public static < K , V > ImmutableSetMultimap < K , V > copyOf ( Multimap < ? extends K , ? extends V > multimap ) { return copyOf ( multimap , null ) ; }
Returns an immutable set multimap containing the same mappings as {@code multimap}. The
generated multimap's key and value orderings correspond to the iteration ordering of the {@code
multimap.asMap()} view. Repeated occurrences of an entry in the multimap after the first are
ignored.

<p>Despite the method name, this method attempts to avoid actually copying the data when it is
safe to do so. The exact circumstances under which a copy will or will not be performed are
undocumented and subject to change.

@throws NullPointerException if any key or value in {@code multimap} is null
Returns an immutable set multimap containing the same mappings as { @code multimap } . The generated multimap s key and value orderings correspond to the iteration ordering of the { @code multimap . asMap () } view . Repeated occurrences of an entry in the multimap after the first are ignored .