docs: protected void createAndStartGrpcServer() throws IOException {
          final Server localServer = this.server;
          if (localServer == null) {
              this.server = this.factory.createServer();
              this.server.start();
              log.info("gRPC Server started, listening on address: " + this.factory.getAddress() + ", port: "
                      + this.factory.getPort());
  
              final Thread awaitThread = new Thread("container-" + (serverCounter.incrementAndGet())) {
  
                  @Override
                  public void run() {
                      try {
                          GrpcServerLifecycle.this.server.awaitTermination();
                      } catch (final InterruptedException e) {
                          Thread.currentThread().interrupt();
                      }
                  }
  
              };
              awaitThread.setDaemon(false);
              awaitThread.start();
          }
      }