@Override public void validate(OptionValue v) { super.validate(v); try { CompilerPolicy.valueOf(v.string_val.toUpperCase()); } catch (IllegalArgumentException e) { throw UserException.validationError() .message( "Invalid value '%s' specified for option '%s'. Valid values are %s.", v.string_val, getOptionName(), Arrays.toString(CompilerPolicy.values())) .build(logger); } }