@Override
public AppConfig loadConfig(Object externalContext, Map<String, String> externalProperties) {
if(null == externalProperties) {
externalProperties = new LinkedHashMap<>();
}
String profile = profileResolver.resolveProfile(externalContext, externalProperties);
log.info("\n\n *** app profile : {} ***\n", profile);
Map<String, AppProperty> initProperties = initProperties(externalProperties);
Loader loader = createLoader(externalContext, initProperties, profile);
DefaultAppConfig config = loader.load();
postLoad(config);
Context.remove();
return config;
}