android/guava/src/com/google/common/collect/ImmutableSortedMap.java
private static <K, V> ImmutableSortedMap<K, V> fromEntries(
      Comparator<? super K> comparator,
      boolean sameComparator,
      Iterable<? extends Entry<? extends K, ? extends V>> entries) {
    // "adding" type params to an array of a raw type should be safe as
    // long as no one can ever cast that same array instance back to a
    // raw type.
    @SuppressWarnings("unchecked")
    Entry<K, V>[] entryArray = (Entry[]) Iterables.toArray(entries, EMPTY_ENTRY_ARRAY);
    return fromEntries(comparator, sameComparator, entryArray, entryArray.length);
  }
private static <K, V> ImmutableSortedMap<K, V> fromEntries(
      Comparator<? super K> comparator,
      boolean sameComparator,
      Iterable<? extends Entry<? extends K, ? extends V>> entries) {
    // "adding" type params to an array of a raw type should be safe as
    // long as no one can ever cast that same array instance back to a
    // raw type.
    @SuppressWarnings("unchecked")
    Entry<K, V>[] entryArray = (Entry[]) Iterables.toArray(entries, EMPTY_ENTRY_ARRAY);
    return fromEntries(comparator, sameComparator, entryArray, entryArray.length);
  }
private static < K , V > ImmutableSortedMap < K , V > fromEntries ( Comparator < ? super K > comparator , boolean sameComparator , Iterable < ? extends Entry < ? extends K , ? extends V > > entries ) { // "adding" type params to an array of a raw type should be safe as // long as no one can ever cast that same array instance back to a // raw type. @ SuppressWarnings ( "unchecked" ) Entry < K , V > [ ] entryArray = ( Entry [ ] ) Iterables . toArray ( entries , EMPTY_ENTRY_ARRAY ) ; return fromEntries ( comparator , sameComparator , entryArray , entryArray . length ) ; }
Accepts a collection of possibly-null entries. If {@code sameComparator}, then it is assumed
that they do not need to be sorted or checked for dupes.
Accepts a collection of possibly - null entries . If {