A class that allows the creation of configuration objects wrapping a {@link ConfigurationBuilder}.
Using this class special {@code Configuration} proxies can be created thatdelegate all method invocations to another {@code Configuration} obtainedfrom a {@code ConfigurationBuilder}. For instance, if there is a configuration {@code c} wrapping the builder {@code builder}, the call {@code c.getString(myKey)} is transformed to{@code builder.getConfiguration().getString(myKey)}.
There are multiple use cases for such a constellation. One example is that client code can continue working with {@code Configuration} objects whileunder the hood builders are used. Another example is that dynamic configurations can be realized in a transparent way: a client holds a single configuration (proxy) object, but the underlying builder may return a different data object on each call.
@version $Id: BuilderConfigurationWrapperFactory.java 1624601 2014-09-12 18:04:36Z oheger $
@since 2.0