code: public InetSocketAddress getSocketAddr(
  			String hostProperty,
  			String addressProperty,
  			String defaultAddressValue,
  			int defaultPort) {
  
  		InetSocketAddress bindAddr = getSocketAddr(
  				addressProperty, defaultAddressValue, defaultPort);
  
  		final String host = get(hostProperty);
  
  		if (host == null || host.isEmpty()) {
  			return bindAddr;
  		}
  
  		return NetUtils.createSocketAddr(
  				host, bindAddr.getPort(), hostProperty);
  	}
docs: Get the socket address for <code>hostProperty</code> as a
  <code>InetSocketAddress</code>. If <code>hostProperty</code> is
  <code>null</code>, <code>addressProperty</code> will be used. This
  is useful for cases where we want to differentiate between host
  bind address and address clients should use to establish connection.
  
  @param hostProperty bind host property name.
  @param addressProperty address property name.
  @param defaultAddressValue the default value
  @param defaultPort the default port
  @return InetSocketAddress