try {
Class<T> singleKeyType = (Class<T>) pluginMap.getClass(singleKeyName);
CodableClassInfo singleKeyInfo = getOrCreateClassInfo(singleKeyType);
ConfigObject aliasDefaults = pluginMap.aliasDefaults(singleKeyName);
ConfigValue configValue = configObject.get(singleKeyName);
if (configValue.valueType() != ConfigValueType.OBJECT) {
if (aliasDefaults.get("_primary") != null) {
// if value is not an object, try supporting _primary syntax to derive one
configValue = configValue.atPath((String) aliasDefaults.get("_primary").unwrapped()).root();
} else if (ValueCodable.class.isAssignableFrom(singleKeyType)) {
// see if the resolved type is innately okay with non-objects