code: public ServerSetup createCopy(String bindAddress) {
          ServerSetup setup = new ServerSetup(getPort(), bindAddress, getProtocol());
          setup.setServerStartupTimeout(getServerStartupTimeout());
          setup.setConnectionTimeout(getConnectionTimeout());
          setup.setReadTimeout(getReadTimeout());
          setup.setWriteTimeout(getWriteTimeout());
          setup.setVerbose(isVerbose());
  
          return setup;
      }
docs: Create a deep copy.
  
  @param bindAddress overwrites bind address when creating deep copy.
  @return a copy of the server setup configuration.