### Question:
GuavaCollectors { public static <K, V, M extends Multimap<K, V>> BiCollector<K, V, M> toMultimap( Supplier<M> multimapSupplier) { requireNonNull(multimapSupplier); return new BiCollector<K, V, M>() { @Override public <E> Collector<E, ?, M> splitting(Function<E, K> toKey, Function<E, V> toValue) { return Multimaps.toMultimap(toKey, toValue, multimapSupplier); } }; } private  GuavaCollectors(); static BiCollector<K, V, ImmutableMap<K, V>> toImmutableMap(); static BiCollector<K, V, ImmutableMap<K, V>> toImmutableMap(
      BinaryOperator<V> valueMerger); static Collector<V, ?, ImmutableMap<K, V>> indexingBy(
      Function<? super V, ? extends K> indexingFunction); static BiCollector<K, V1, ImmutableMap<K, V>> toImmutableMap(
      Collector<V1, ?, V> valueCollector); static BiCollector<K, V, ImmutableSortedMap<K, V>> toImmutableSortedMap(
      Comparator<? super K> comparator, BinaryOperator<V> valueMerger); static BiCollector<K, V, ImmutableSortedMap<K, V>> toImmutableSortedMap(
      Comparator<? super K> comparator); static BiCollector<K, V, M> toMultimap(
      Supplier<M> multimapSupplier); static BiCollector<K, V, ImmutableListMultimap<K, V>> toImmutableListMultimap(); static BiCollector<K, T, ImmutableListMultimap<K, V>> flatteningToImmutableListMultimap(
          Function<? super T, ? extends Stream<? extends V>> flattener); static BiCollector<K, V, ImmutableSetMultimap<K, V>> toImmutableSetMultimap(); static BiCollector<K, T, ImmutableSetMultimap<K, V>> flatteningToImmutableSetMultimap(
          Function<? super T, ? extends Stream<? extends V>> flattener); static BiCollector<K, V, ImmutableMultiset<K>> toImmutableMultiset(
      ToIntFunction<? super V> countFunction); static BiCollector<K, V, ImmutableBiMap<K, V>> toImmutableBimap(); static BiCollector<R, BiStream<? extends C, ? extends V>, ImmutableTable<R, C, V>> toImmutableTable();  }### Answer:
@Test public void testToMultimap_treeMultimap() { TreeMultimap<Integer, String> map = BiStream.of(2, "b", 1, "a").collect(toMultimap(TreeMultimap::create)); assertThat(map.keySet()).containsExactly(1, 2).inOrder(); }