@SafeVarargs
 @Override
 protected final <T> MutableSortedBag<T> newWithOccurrences(
     ObjectIntPair<T>... elementsWithOccurrences) {
   MutableSortedBag<T> bag = TreeBag.newBag();
   for (int i = 0; i < elementsWithOccurrences.length; i++) {
     ObjectIntPair<T> itemToAdd = elementsWithOccurrences[i];
     bag.addOccurrences(itemToAdd.getOne(), itemToAdd.getTwo());
   }
   return bag.asUnmodifiable();
 }
 @Override
 protected <T> MutableSortedBag<T> newWith(Comparator<? super T> comparator, T... elements) {
   return TreeBag.newBagWith(comparator, elements).asUnmodifiable();
 }
 @Override
 protected <T> MutableSortedBag<T> newWith(T... elements) {
   return TreeBag.newBagWith(elements).asUnmodifiable();
 }