android/guava/src/com/google/common/collect/Maps.java
public static <K, V> TreeMap<K, V> newTreeMap(SortedMap<K, ? extends V> map) {
    return new TreeMap<>(map);
  }
public static <K, V> TreeMap<K, V> newTreeMap(SortedMap<K, ? extends V> map) {
    return new TreeMap<>(map);
  }
public static < K , V > TreeMap < K , V > newTreeMap ( SortedMap < K , ? extends V > map ) { return new TreeMap <> ( map ) ; }
Creates a <i>mutable</i> {@code TreeMap} instance with the same mappings as the specified map
and using the same ordering as the specified map.

<p><b>Note:</b> if mutability is not required, use {@link
ImmutableSortedMap#copyOfSorted(SortedMap)} instead.

<p><b>Note for Java 7 and later:</b> this method is now unnecessary and should be treated as
deprecated. Instead, use the {@code TreeMap} constructor directly, taking advantage of the new
<a href="http://goo.gl/iz2Wi">"diamond" syntax</a>.

@param map the sorted map whose mappings are to be placed in the new map and whose comparator
is to be used to sort the new map
@return a new {@code TreeMap} initialized with the mappings from {@code map} and using the
comparator of {@code map}
Creates a <i > mutable< / i > { @code TreeMap } instance with the same mappings as the specified map and using the same ordering as the specified map .