in src/main/java/org/apache/commons/configuration2/builder/combined/CombinedConfigurationBuilder.java [1089:1129]
protected void initResultInstance(final CombinedConfiguration result) throws ConfigurationException {
super.initResultInstance(result);
currentConfiguration = result;
final HierarchicalConfiguration<?> config = getDefinitionConfiguration();
if (config.getMaxIndex(KEY_COMBINER) < 0) {
// No combiner defined => set default
result.setNodeCombiner(new OverrideCombiner());
}
setUpCurrentParameters();
initNodeCombinerListNodes(result, config, KEY_OVERRIDE_LIST);
registerConfiguredProviders(config);
setUpCurrentXMLParameters();
currentXMLParameters.setFileSystem(initFileSystem(config));
initSystemProperties(config, getBasePath());
registerConfiguredLookups(config, result);
configureEntityResolver(config, currentXMLParameters);
setUpParentInterpolator(currentConfiguration, config);
final ConfigurationSourceData data = getSourceData();
final boolean createBuilders = data.getChildBuilders().isEmpty();
final List<ConfigurationBuilder<? extends Configuration>> overrideBuilders = data.createAndAddConfigurations(result, data.getOverrideSources(),
data.overrideBuilders);
if (createBuilders) {
data.overrideBuilders.addAll(overrideBuilders);
}
if (!data.getUnionSources().isEmpty()) {
final CombinedConfiguration addConfig = createAdditionalsConfiguration(result);
result.addConfiguration(addConfig, ADDITIONAL_NAME);
initNodeCombinerListNodes(addConfig, config, KEY_ADDITIONAL_LIST);
final List<ConfigurationBuilder<? extends Configuration>> unionBuilders = data.createAndAddConfigurations(addConfig, data.unionDeclarations,
data.unionBuilders);
if (createBuilders) {
data.unionBuilders.addAll(unionBuilders);
}
}
result.isEmpty(); // this sets up the node structure
currentConfiguration = null;
}