code: public <IN, OUT> Processor<IN, OUT> newAsyncProcessor(Function<IN, OUT> processingFunction, Scheduler sched, int batchSize) {
          if ( batchSize > KxReactiveStreams.MAX_BATCH_SIZE ) {
              throw new RuntimeException("batch size exceeds max of "+ KxReactiveStreams.MAX_BATCH_SIZE);
          }
          KxPublisherActor pub = Actors.AsActor(KxPublisherActor.class, sched);
          // actually init should provide a promise as return value to ensure streams instance is initialized.
          // do sync shortcut instead here
          pub._streams = this;
          ((KxPublisherActor) pub.getActor())._streams = this;
          pub.setBatchSize(batchSize);
          pub.init(processingFunction);
          return pub;
      }
docs: create async processor. Usually not called directly (see EventSink+RxPublisher)
  The resulting processor is Publisher allowing for multiple subscribers, having a
  slowest-subscriber-dominates policy.
  
  @param processingFunction
  @param sched
  @param batchSize
  @param <IN>
  @param <OUT>
  @return