public function getMenu()
    {
        if ($this->_menu !== null) {
            return $this->_menu;
        }
        
        $menu = [];
        foreach ($this->getAdminModuleMenus() as $menuBuilder) {
            // removed legacy support, menu must be instance of AdminmenuBuilderInterface
            if (!$menuBuilder instanceof AdminMenuBuilderInterface) {
                throw new Exception("admin menu must be instance of AdminMenuBuilderInterface");
            }
            // call the interface menu method returns the array for the given Module.
            $data = $menuBuilder->menu();
            $menu = ArrayHelper::merge($data, $menu);
        }
        
        $this->_menu = $menu;

        return $menu;
    }