} catch (InstantiationException | IllegalAccessException | RuntimeException ex) {
throw new ConfigException.BadValue(configValue.origin(), singleKeyType.getName(),
"exception during instantiation of a ValueCodable", ex);
}
} else {
throw new ConfigException.WrongType(configValue.origin(), singleKeyName,
"OBJECT", configValue.valueType().toString());
}
}
ConfigObject fieldValues = ((ConfigObject) configValue).withFallback(aliasDefaults);
return createAndPopulate(singleKeyInfo, singleKeyType, fieldValues);