code: public InetSocketAddress updateConnectAddr(
  			String hostProperty,
  			String addressProperty,
  			String defaultAddressValue,
  			InetSocketAddress addr) {
  
  		final String host = get(hostProperty);
  		final String connectHostPort = getTrimmed(addressProperty, defaultAddressValue);
  
  		if (host == null || host.isEmpty() || connectHostPort == null || connectHostPort.isEmpty()) {
  			//not our case, fall back to original logic
  			return updateConnectAddr(addressProperty, addr);
  		}
  
  		final String connectHost = connectHostPort.split(":")[0];
  		// Create connect address using client address hostname and server port.
  		return updateConnectAddr(addressProperty, NetUtils.createSocketAddrForHost(
  				connectHost, addr.getPort()));
  	}
docs: Set the socket address a client can use to connect for the
  <code>name</code> property as a <code>host:port</code>.  The wildcard
  address is replaced with the local host's address. If the host and address
  properties are configured the host component of the address will be combined
  with the port component of the addr to generate the address.  This is to allow
  optional control over which host name is used in multi-home bind-host
  cases where a host can have multiple names
  @param hostProperty the bind-host configuration name
  @param addressProperty the service address configuration name
  @param defaultAddressValue the service default address configuration value
  @param addr InetSocketAddress of the service listener
  @return InetSocketAddress for clients to connect