@Beta
  public static <K, V> ImmutableBiMap<K, V> copyOf(
      Iterable<? extends Entry<? extends K, ? extends V>> entries) {
    int estimatedSize =
        (entries instanceof Collection)
            ? ((Collection<?>) entries).size()
            : ImmutableCollection.Builder.DEFAULT_INITIAL_CAPACITY;
    return new Builder<K, V>(estimatedSize).putAll(entries).build();
  }
@Beta
  public static <K, V> ImmutableBiMap<K, V> copyOf(
      Iterable<? extends Entry<? extends K, ? extends V>> entries) {
    int estimatedSize =
        (entries instanceof Collection)
            ? ((Collection<?>) entries).size()
            : ImmutableCollection.Builder.DEFAULT_INITIAL_CAPACITY;
    return new Builder<K, V>(estimatedSize).putAll(entries).build();
  }
@ Beta public static < K , V > ImmutableBiMap < K , V > copyOf ( Iterable < ? extends Entry < ? extends K , ? extends V > > entries ) { int estimatedSize = ( entries instanceof Collection ) ? ( ( Collection < ? > ) entries ) . size ( ) : ImmutableCollection . Builder . DEFAULT_INITIAL_CAPACITY ; return new Builder < K , V > ( estimatedSize ) . putAll ( entries ) . build ( ) ; }
Returns an immutable bimap containing the given entries. The returned bimap iterates over
entries in the same order as the original iterable.

@throws IllegalArgumentException if two keys have the same value or two values have the same
key
@throws NullPointerException if any key, value, or entry is null
@since 19.0
Returns an immutable bimap containing the given entries . The returned bimap iterates over entries in the same order as the original iterable .