private List mergeMenus()

in doxia-site-model/src/main/java/org/apache/maven/doxia/site/inheritance/DefaultSiteModelInheritanceAssembler.java [174:209]


    private List<Menu> mergeMenus(
            final List<Menu> childMenus, final List<Menu> parentMenus, final URLRebaser urlContainer) {
        List<Menu> menus = new ArrayList<>(childMenus.size() + parentMenus.size());

        for (Menu menu : childMenus) {
            menus.add(menu);
        }

        int topCounter = 0;
        for (Menu menu : parentMenus) {
            if ("top".equals(menu.getInherit())) {
                final Menu clone = menu.clone();

                rebaseMenuPaths(clone.getItems(), urlContainer);
                if (clone.getImage() != null) {
                    clone.getImage()
                            .setSrc(urlContainer.rebaseLink(clone.getImage().getSrc()));
                }

                menus.add(topCounter, clone);
                topCounter++;
            } else if ("bottom".equals(menu.getInherit())) {
                final Menu clone = menu.clone();

                rebaseMenuPaths(clone.getItems(), urlContainer);
                if (clone.getImage() != null) {
                    clone.getImage()
                            .setSrc(urlContainer.rebaseLink(clone.getImage().getSrc()));
                }

                menus.add(clone);
            }
        }

        return menus;
    }