code: public <T> T answer(Function<String, T> function, final String validationErrorMessage) {
          validateWith(functionValidator(function, validationErrorMessage));
          return function.apply(answer());
      }
docs: Return user input as T
  
  @param function {@link Function} or {@link de.eleon.console.builder.functional.Transformer} for value conversion
  @param validationErrorMessage error message if function conversion fails
  @param <T> the return type
  @return user input as T