docs: @Override
  	public void validate() throws HostNameException {
  		if(parsedHost != null) {
  			return;
  		}
  		if(validationException != null) {
  			throw validationException;
  		}
  		synchronized(this) {
  			if(parsedHost != null) {
  				return;
  			}
  			if(validationException != null) {
  				throw validationException;
  			}
  			try {
  				parsedHost = getValidator().validateHost(this);
  			} catch(HostNameException e) {
  				validationException = e;
  				throw e;
  			}
  		}
  	}