android/guava/src/com/google/common/collect/TreeMultiset.java
@SuppressWarnings("unchecked")
  public static <E> TreeMultiset<E> create(@NullableDecl Comparator<? super E> comparator) {
    return (comparator == null)
        ? new TreeMultiset<E>((Comparator) Ordering.natural())
        : new TreeMultiset<E>(comparator);
  }
@SuppressWarnings("unchecked")
  public static <E> TreeMultiset<E> create(@NullableDecl Comparator<? super E> comparator) {
    return (comparator == null)
        ? new TreeMultiset<E>((Comparator) Ordering.natural())
        : new TreeMultiset<E>(comparator);
  }
Creates a new, empty multiset, sorted according to the specified comparator. All elements
inserted into the multiset must be <i>mutually comparable</i> by the specified comparator:
{@code comparator.compare(e1, e2)} must not throw a {@code ClassCastException} for any elements
{@code e1} and {@code e2} in the multiset. If the user attempts to add an element to the
multiset that violates this constraint, the {@code add(Object)} call will throw a {@code
ClassCastException}.

@param comparator the comparator that will be used to sort this multiset. A null value
indicates that the elements' <i>natural ordering</i> should be used.