archaius-core/src/main/java/com/netflix/config/ConcurrentCompositeConfiguration.java
public void setContainerConfiguration(AbstractConfiguration config, String name, int index) throws IndexOutOfBoundsException {
        if (!configList.contains(config)) {
            checkIndex(index);
            containerConfigurationChanged = true;
            containerConfiguration = config;            
            addConfigurationAtIndex(config, name, index);
        } else {
            logger.warn(config + " is not added as it already exits");
        }        
    }
public void setContainerConfiguration(AbstractConfiguration config, String name, int index) throws IndexOutOfBoundsException {
        if (!configList.contains(config)) {
            checkIndex(index);
            containerConfigurationChanged = true;
            containerConfiguration = config;            
            addConfigurationAtIndex(config, name, index);
        } else {
            logger.warn(config + " is not added as it already exits");
        }        
    }
Adds a child configuration and makes it the <em>container
configuration</em>. This means that all future property write operations
are executed on this configuration. Note that the current container
configuration stays in the list of child configurations
at its current position, but it passes its role as container
configuration to the new one.

@param config the configuration to be added
@param name the name of the configuration to be added
@param index index to add this configuration

@throws IndexOutOfBoundsException