code: @Override
      public void lotsOfReplies(HelloRequest request, StreamObserver<HelloReply> responseObserver) {
          // You can also write this code without Reactor like 'lazyHello' example.
          Flux.interval(Duration.ofSeconds(1))
              .take(5)
              .map(index -> "Hello, " + request.getName() + "! (sequence: " + (index + 1) + ')')
              // You can make your Flux/Mono publish the signals in the RequestContext-aware executor.
              .publishOn(Schedulers.fromExecutor(RequestContext.current().contextAwareExecutor()))
              .subscribe(message -> {
                             // Confirm this callback is being executed on the RequestContext-aware executor.
                             final ServiceRequestContext ctx = RequestContext.current();
                             responseObserver.onNext(buildReply(message));
                         },
                         cause -> {
                             // Confirm this callback is being executed on the RequestContext-aware executor.
                             final ServiceRequestContext ctx = RequestContext.current();
                             responseObserver.onError(cause);
                         },
                         () -> {
                             // Confirm this callback is being executed on the RequestContext-aware executor.
                             final ServiceRequestContext ctx = RequestContext.current();
                             responseObserver.onCompleted();
                         });
      }
docs: Sends 5 {@link HelloReply} responses when receiving a request.
  
  @see #lazyHello(HelloRequest, StreamObserver)