@Override
        protected JBIterable<E> nextImpl() {
          // iterate through the previous result fully before proceeding
          while (it != null && it.advance()) /* no-op */ ;
          it = null;
          return orig.hasNext() ? once((it = JBIterator.wrap(orig)).take(size)) : stop();
        }
@Override
        protected JBIterable<E> nextImpl()