code: public static final ConfigurationsCatalog newInstance() {
  		ConfigurationsCatalog ret =  new ConfigurationsCatalog();
  		for (ConfigurationsProvider provider : ServiceLoader.load(ConfigurationsProvider.class)) {
  			provider.setCreatedWithSPI();
  			ret.addFactory(provider);
  		}
  		Iterator<UserConfigurationsProvider> iter = ServiceLoader.load(UserConfigurationsProvider.class).iterator();
  		if (iter.hasNext()) {
  			UserConfigurationsProvider provider = iter.next();
  			provider.setCreatedWithSPI();
  			ret.setUserConfigurations(provider);
  		}
  		return ret;
  	}
docs: <p>
  Creates a new instance of a configurations catalog and populates it using the SPI
  (java service provider interface).</p>
  
  <p>
  In an OSGi context, an instance should be retrieved using the service
  registry. It will be registered under the ConfigurationsCatalogService
  interface.
  </p>
  
  @return returns an instance of a configurations catalog