class Factory implements AutoCloseable {

    public static Factory getInstance() {
        Optional<Factory> factory = getFactory("__DEFAULT__");
        if (factory.isPresent()) {
            return factory.get();
        } else {
            return register("__DEFAULT__", Factory.builder().addFromServiceLoader().build());
        }
    }

    private  Factory(boolean usedServiceLoader, Multimap<String, FactoryMachine> machines,
                    ImmutableList<ComponentCustomizerEngine> customizerEngines, Warehouse warehouse);

}