public ConfigKey generateByPropertiesKey(String key) {
SubnodeConfiguration configurationAt = null;
try {
if (Character.isLetter(key.charAt(0))) {
configurationAt = keysConfig.configurationAt(key);
}
} catch (IllegalArgumentException e) {
}
if (configurationAt == null || configurationAt.isEmpty()) {
key = alternateKeysMap.get(key);
configurationAt = keysConfig.configurationAt(key);
}
String type = configurationAt.getString("type");
if (StringUtils.isBlank(type)) {
type = "String";
}
String[] validValues = configurationAt.getStringArray("validValues");
String description = StringUtils.join(configurationAt.getStringArray("description"),
configurationAt.getListDelimiter() + " ");
String alternateKey = keysConfig.getString("/" + key + "/" + "alternateKey");
boolean reloadable = configurationAt.getBoolean("isReloadable", false);
ConfigKey configKey = new ConfigKey(type, description, alternateKey, key, "", validValues,
"", getHelperByType(type), reloadable, isDeprecated(key));
configKey.setParser(parser);
return configKey;
}