class ConfigurationRegistry implements Closeable {

	private ConfigurationOption<?> validateConfigurationOption(String key, String value) throws IllegalArgumentException {
		final ConfigurationOption configurationOption = getConfigurationOptionByKey(key);
		if (configurationOption != null) {
			configurationOption.assertValid(value);
			return configurationOption;
		} else {
			throw new IllegalArgumentException("Config key '" + key + "' does not exist.");
		}
	}

	@Deprecated public  ConfigurationRegistry(Iterable<? extends ConfigurationOptionProvider> optionProviders,
								 List<ConfigurationSource> configSources);
	@Deprecated public  ConfigurationRegistry(Iterable<? extends ConfigurationOptionProvider> optionProviders,
								 List<ConfigurationSource> configSources, boolean failOnMissingRequiredValues);

}