@Override protected Key parse(String input) { if (_validator != null) _validator.validateRaw(input); Key k = Key.make(input); Value v = DKV.get(k); if (v == null && _mustExist) throw new IllegalArgumentException("Key '" + input + "' does not exist!"); if (_type != null) { if (v != null && !compatible(_type, v.get())) throw new IllegalArgumentException(input + ":" + errors()[0]); if (v == null && _required) throw new IllegalArgumentException("Key '" + input + "' does not exist!"); } return k; }