docs: @Override
  	public void validate() throws AddressStringException {
  		if(isValidated()) {
  			return;
  		}
  		synchronized(this) {
  			if(isValidated()) {
  				return;
  			}
  			//we know nothing about this address.  See what it is.
  			try {
  				parsedAddress = getValidator().validateAddress(this);
  				isValid = true;
  			} catch(AddressStringException e) {
  				cachedException = e;
  				isValid = false;
  				throw e;
  			}
  		}
  	}