public void addConfigurationAtIndex(AbstractConfiguration config, String name, int index) 
    throws IndexOutOfBoundsException {
    """
	Add a configuration with a name at a particular index.
	
	@throws IndexOutOfBoundsException
    """
        if (!configList.contains(config)) {
            checkIndex(index);
            configList.add(index, config);
            if (name != null) {
                namedConfigurations.put(name, config);
            }
            config.addConfigurationListener(eventPropagater);
            fireEvent(EVENT_CONFIGURATION_SOURCE_CHANGED, null, null, false);
        } else {
            logger.warn(config + " is not added as it already exits");
        }
    }
public void addConfigurationAtIndex(AbstractConfiguration config, String name, int index) 
    throws IndexOutOfBoundsException {
        if (!configList.contains(config)) {
            checkIndex(index);
            configList.add(index, config);
            if (name != null) {
                namedConfigurations.put(name, config);
            }
            config.addConfigurationListener(eventPropagater);
            fireEvent(EVENT_CONFIGURATION_SOURCE_CHANGED, null, null, false);
        } else {
            logger.warn(config + " is not added as it already exits");
        }
    }
public void addConfigurationAtIndex ( AbstractConfiguration config , String name , int index ) throws IndexOutOfBoundsException { if ( ! configList . contains ( config ) ) { checkIndex ( index ) ; configList . add ( index , config ) ; if ( name != null ) { namedConfigurations . put ( name , config ) ; } config . addConfigurationListener ( eventPropagater ) ; fireEvent ( EVENT_CONFIGURATION_SOURCE_CHANGED , null , null , false ) ; } else { logger . warn ( config + " is not added as it already exits" ) ; } }
Add a configuration with a name at a particular index.

@throws IndexOutOfBoundsException
Add a configuration with a name at a particular index .