code: @Handler
      @SuppressWarnings("PMD.ConfusingTernary")
      public void onConfigurationUpdate(ConfigurationUpdate event) {
          event.values(componentPath()).ifPresent(values -> {
              String hostname = values.get("hostname");
              if (hostname != null) {
                  setServerAddress(new InetSocketAddress(hostname,
                      Integer.parseInt(values.getOrDefault("port", "0"))));
              } else if (values.containsKey("port")) {
                  setServerAddress(new InetSocketAddress(
                      Integer.parseInt(values.get("port"))));
              }
              Optional.ofNullable(values.get("backlog")).ifPresent(
                  value -> setBacklog(Integer.parseInt(value)));
              Optional.ofNullable(values.get("bufferSize")).ifPresent(
                  value -> setBufferSize(Integer.parseInt(value)));
          });
      }
docs: The component can be configured with events that include
  a path (see @link {@link ConfigurationUpdate#paths()})
  that matches this components path (see {@link Manager#componentPath()}).
  
  The following properties are recognized:
  
  `hostname`
  : If given, is used as first parameter for
  {@link InetSocketAddress#InetSocketAddress(String, int)}.
  
  `port`
  : If given, is used as parameter for
  {@link InetSocketAddress#InetSocketAddress(String, int)}
  or {@link InetSocketAddress#InetSocketAddress(int)},
  depending on whether a host name is specified. Defaults to "0".
  
  `backlog`
  : See {@link #setBacklog(int)}.
  
  `bufferSize`
  : See {@link #setBufferSize(int)}.
  
  @param event the event