code: public <T> Iterator<T> iterator( Publisher<T> pub, int batchSize ) {
          if ( batchSize > KxReactiveStreams.MAX_BATCH_SIZE ) {
              throw new RuntimeException("batch size exceeds max of "+ KxReactiveStreams.MAX_BATCH_SIZE);
          }
          KxSubscriber<T> subs = new KxSubscriber<T>(batchSize);
          pub.subscribe(subs);
  
          return subs;
      }
docs: warning: blocks the calling thread. Need to execute in a separate thread if called
  from within a callback