public static @NotNull <E> JBIterator<E> from(final @NotNull Iterator<? extends E> it) {
    return it instanceof JBIterator ? (JBIterator<E>)it : wrap(it);
  }
public static @NotNull <E> JBIterator<E> from(final @NotNull Iterator<? extends E> it)