class ConfigurationManager implements IConfigurationManager {

    @Override
    public void addSectionStrategy(final ISectionStrategy strategy) throws InvalidArgumentException {
        if (null == strategy) {
            throw new InvalidArgumentException("Strategy should not be null.");
        }

        if (!registeredSections.add(strategy.getSectionName())) {
            throw new InvalidArgumentException("Strategy for the section is already registered.");
        }

        sectionStrategies.add(strategy);
    }

    public  ConfigurationManager();

}