code: public static <T> Spliterator<T> spliterator(Collection<? extends T> c,
                                                   int characteristics) {
          return new IteratorSpliterator<>(Objects.requireNonNull(c),
                                           characteristics);
      }
docs: Creates a {@code Spliterator} using the given collection's
  {@link java.util.Collection#iterator()} as the source of elements, and
  reporting its {@link java.util.Collection#size()} as its initial size.
  
  <p>The spliterator is
  <em><a href="Spliterator.html#binding">late-binding</a></em>, inherits
  the <em>fail-fast</em> properties of the collection's iterator, and
  implements {@code trySplit} to permit limited parallelism.
  
  @param <T> Type of elements
  @param c The collection
  @param characteristics Characteristics of this spliterator's source or
  elements.  The characteristics {@code SIZED} and {@code SUBSIZED}
  are additionally reported unless {@code CONCURRENT} is supplied.
  @return A spliterator from an iterator
  @throws NullPointerException if the given collection is {@code null}