private function addLayoutsSubMenu(ItemInterface $menu): void
    {
        $menuOrder = $this->getNewMenuOrder($menu);

        $layouts = $menu
            ->addChild('nglayouts')
            ->setLabel('menu.main_menu.header')
            ->setExtra('translation_domain', 'ngbm_admin');

        $layouts
            ->addChild('layout_resolver', ['route' => 'ngbm_admin_layout_resolver_index'])
            ->setLabel('menu.main_menu.layout_resolver')
            ->setExtra('translation_domain', 'ngbm_admin');

        $layouts
            ->addChild('layouts', ['route' => 'ngbm_admin_layouts_index'])
            ->setLabel('menu.main_menu.layouts')
            ->setExtra('translation_domain', 'ngbm_admin');

        $layouts
            ->addChild('shared_layouts', ['route' => 'ngbm_admin_shared_layouts_index'])
            ->setLabel('menu.main_menu.shared_layouts')
            ->setExtra('translation_domain', 'ngbm_admin');

        $menu->reorderChildren($menuOrder);
    }