docs: @Override
    public ServerImpl start() throws IOException {
      synchronized (lock) {
        checkState(!started, "Already started");
        checkState(!shutdown, "Shutting down");
        // Start and wait for any ports to actually be bound.
  
        ServerListenerImpl listener = new ServerListenerImpl();
        for (InternalServer ts : transportServers) {
          ts.start(listener);
          activeTransportServers++;
        }
        executor = Preconditions.checkNotNull(executorPool.getObject(), "executor");
        started = true;
        return this;
      }
    }