code: @NullSafe
    public static <T> Iterable<T> asIterable(Iterator<T> iterator) {
      return () -> nullSafeIterator(iterator);
    }
docs: Adapts the {@link Iterator} into an instance of the {@link Iterable} interface.
  
  @param <T> Class type of the elements in the {@link Iterator}.
  @param iterator {@link Iterator} to adapt into an {@link Iterable}.
  @return an {@link Iterable} implementation backed by the {@link Iterator}.
  @see #nullSafeIterator(Iterator)
  @see java.util.Iterator
  @see java.lang.Iterable