Config fieldDefaults = singleKeyInfo.getFieldDefaults();
// do not merge objects between global defaults and user defaults (incl. alias defaults)
ConfigObject mergedDefaults = aliasDefaults;
for (Map.Entry<String, ConfigValue> pair : fieldDefaults.entrySet()) {
if (!mergedDefaults.containsKey(pair.getKey())) {
mergedDefaults = mergedDefaults.withValue(pair.getKey(), pair.getValue());
}
}
((ValueCodable) objectShell).fromConfigValue(configValue, mergedDefaults);
return objectShell;
} catch (InstantiationException | IllegalAccessException | RuntimeException ex) {