private function getAllowedMenuItems($menuItem)
{
$shown = $this->checkMenuItemPermission($menuItem->permission);
// filter out children of this menu item for permissions too
if ($shown && $this->childrenLoaded($menuItem)) {
foreach ($menuItem->children as $key => $child) {
$childShown = $this->getAllowedMenuItems($child);
if (!$childShown) {
$menuItem->children->forget($key);
}
}
}
return $shown ? $menuItem : false;
}