private Module createModule() {
        List<Element> allElements = new LinkedList<>();
        for (List<Element> moduleElements : modules.values()) {
            allElements.addAll(moduleElements);
        }
        ElementCollector collector = new ElementCollector();
        for (ListIterator<Element> it = allElements.listIterator(allElements.size()); it.hasPrevious(); ) {
            it.previous().acceptVisitor(collector);
        }
        return Elements.getModule(collector.elements);
    }
This is a repository of {@link Module}s. An instance of this class is owned by the {@link ContainerBuilder}, and is
used to configure the set of Modules that eventually form the {@link Injector} of the active {@link Container}.

@author Simon Thoresen Hult
jdisc_core/src/main/java/com/yahoo/jdisc/application/GuiceRepository.java