code: @Override
      public StreamObserver<HelloRequest> bidiHello(StreamObserver<HelloReply> responseObserver) {
          return new StreamObserver<HelloRequest>() {
              @Override
              public void onNext(HelloRequest value) {
                  // Respond to every request received.
                  responseObserver.onNext(buildReply(toMessage(value.getName())));
              }
  
              @Override
              public void onError(Throwable t) {
                  responseObserver.onError(t);
              }
  
              @Override
              public void onCompleted() {
                  responseObserver.onCompleted();
              }
          };
      }
docs: Sends a {@link HelloReply} when each {@link HelloRequest} is received. The response will be completed
  when the request is completed.