code: public <O> O convert(Conversion<I, O> conversion, ValidationMessage message) throws ValidationException {
  		@Nullable O convertedInput = null;
  
  		try {
  			convertedInput = conversion.checkAndApply(this.input);
  			if (convertedInput == null) {
  				throw new ValidationException(message.format(this.input));
  			}
  		} catch (ValidationException e) {
  			throw e;
  		} catch (Exception e) {
  			throw new ValidationException(message.format(this.input), e);
  		}
  		return convertedInput;
  	}
docs: Checks and converts the input value against the given conversion.
  
  @param <O> the actual output type.
  @param conversion the {@linkplain Conversion} to apply.
  @param message the validation message to create in case the conversion fails.
  @return the converted {@linkplain InputValidator} instance for further validation steps.
  @throws ValidationException if the conversion fails.