String className = getDefaultProviderClassName();
Class<? extends ConfigurationProvider> providerClass;
try {
providerClass = Class.forName(className).asSubclass(ConfigurationProvider.class);
ConfigurationProvider provider = providerClass.newInstance();
provider.init(configuration);
return provider;
} catch (ConfigurationException ex) {
throw ex;
} catch (Exception ex) {
throw new ConfigurationException(new Message("DEFAULT_PROVIDER_INSTANTIATION_EXC", LOG), ex);