public static @NotNull <E extends JBIterator<?>> JBIterable<E> cursor(@NotNull E iterator) {
    return JBIterable.generate(iterator, Functions.id()).intercept(CURSOR_NEXT);
  }
public static @NotNull <E extends JBIterator<?>> JBIterable<E> cursor(@NotNull E iterator)