docs: public SinglePortRouterConfiguration build() {
          if (this.enabled) {
              try {
                  validate();
              } catch (Exception e) {
                  throw logger.configurationValidationError(e);
              }
              SslConfigurationBuilder sslConfigurationBuilder = new SslConfigurationBuilder(null);
              if (sslContext != null) {
                  sslConfigurationBuilder.sslContext(sslContext);
              }
              else if (keystorePath != null) {
                  sslConfigurationBuilder.keyStoreFileName(keystorePath).keyStorePassword(keystorePassword).enable();
              }
              AttributeSet attributes = ProtocolServerConfiguration.attributeDefinitionSet();
              attributes.attribute(ProtocolServerConfiguration.NAME).set(name);
              attributes.attribute(ProtocolServerConfiguration.HOST).set(ip.getHostName());
              attributes.attribute(ProtocolServerConfiguration.PORT).set(port);
              attributes.attribute(ProtocolServerConfiguration.IDLE_TIMEOUT).set(100);
              attributes.attribute(ProtocolServerConfiguration.RECV_BUF_SIZE).set(receiveBufferSize);
              attributes.attribute(ProtocolServerConfiguration.SEND_BUF_SIZE).set(sendBufferSize);
              return new SinglePortRouterConfiguration(attributes.protect(), sslConfigurationBuilder.create());
          }
          return null;
      }