docs: public static <V> void copyWithFlowControl(final Iterator<V> source,
        final CallStreamObserver<V> target) {
      Preconditions.checkNotNull(source, "source");
      Preconditions.checkNotNull(target, "target");
  
      final class FlowControllingOnReadyHandler implements Runnable {
        private boolean completed;
  
        @Override
        public void run() {
          if (completed) {
            return;
          }
  
          while (target.isReady() && source.hasNext()) {
            target.onNext(source.next());
          }
  
          if (!source.hasNext()) {
            completed = true;
            target.onCompleted();
          }
        }
      }
  
      target.setOnReadyHandler(new FlowControllingOnReadyHandler());
    }