public static <T extends Config> T getOrCreate(Class<? extends T> clazz, Map<?, ?>... imports) {
        return getOrCreate(ConfigFactory.INSTANCE, clazz, clazz, imports);
    }
public static < T extends Config > T getOrCreate ( Class < ? extends T > clazz , Map < ? , ? > ... imports ) { return getOrCreate ( ConfigFactory . INSTANCE , clazz , clazz , imports ) ; }
Gets from the cache or create, an instance of the given class using the given imports.
The factory used to create new instances is the static {@link ConfigFactory#INSTANCE}.

@param clazz     the interface extending from {@link Config} that you want to instantiate.
@param imports   additional variables to be used to resolve the properties.
@param <T>       type of the interface.
@return          an object implementing the given interface, that can be taken from the cache,
which maps methods to property values.