code: public static <E> ImmutableSortedSet<E> copyOf(
        Comparator<? super E> comparator, Iterable<? extends E> elements) {
      checkNotNull(comparator);
      boolean hasSameComparator = SortedIterables.hasSameComparator(comparator, elements);
  
      if (hasSameComparator && (elements instanceof ImmutableSortedSet)) {
        @SuppressWarnings("unchecked")
        ImmutableSortedSet<E> original = (ImmutableSortedSet<E>) elements;
        if (!original.isPartialView()) {
          return original;
        }
      }
      @SuppressWarnings("unchecked") // elements only contains E's; it's safe.
      E[] array = (E[]) Iterables.toArray(elements);
      return construct(comparator, array.length, array);
    }
docs: Returns an immutable sorted set containing the given elements sorted by the given {@code
  Comparator}. When multiple elements are equivalent according to {@code compare()}, only the
  first one specified is included. This method iterates over {@code elements} at most once.
  
  <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.
  
  @throws NullPointerException if {@code comparator} or any of {@code elements} is null