docs: @SuppressWarnings("unchecked")
      public static <T> Set<T> copyOf(Collection<? extends T> collection) {
          Preconditions.checkNotNull(collection);
          if (collection instanceof AbstractImmutableSet<?>) {
              return (Set<T>) collection;
          }
          if (collection.isEmpty()) {
              return Collections.emptySet();
          }
          if (collection instanceof Set) {
              return from((Set<T>) collection);
          }
          return ImmutableSet.<T> builder().addAll(collection).build();
      }