code: public static <E> ImmutableSortedSet<E> copyOfSorted(SortedSet<E> sortedSet) {
      Comparator<? super E> comparator = SortedIterables.comparator(sortedSet);
      ImmutableList<E> list = ImmutableList.copyOf(sortedSet);
      if (list.isEmpty()) {
        return emptySet(comparator);
      } else {
        return new RegularImmutableSortedSet<E>(list, comparator);
      }
    }
docs: Returns an immutable sorted set containing the elements of a sorted set, sorted by the same
  {@code Comparator}. That behavior differs from {@link #copyOf(Iterable)}, which always uses the
  natural ordering of the elements.
  
  <p>Despite the method name, this method attempts to avoid actually copying the data when it is
  safe to do so. The exact circumstances under which a copy will or will not be performed are
  undocumented and subject to change.
  
  <p>This method is safe to use even when {@code sortedSet} is a synchronized or concurrent
  collection that is currently being modified by another thread.
  
  @throws NullPointerException if {@code sortedSet} or any of its elements is null