static @NotNull <E> JBIterator<E> wrap(final @NotNull Iterator<? extends E> it) {
    return new JBIterator<E>() {
      @Override
      protected E nextImpl() {
        return it.hasNext() ? it.next() : stop();
      }
    };
  }
static @NotNull <E> JBIterator<E> wrap(final @NotNull Iterator<? extends E> it)