subMenu = $subMenu; } public function url() { return $this->subMenu->url(); } public function target() { if ($this->subMenu instanceof Category) { return '_self'; } return $this->subMenu->target; } public function name() { return $this->subMenu->name; } public function hasItems() { return $this->items()->isNotEmpty(); } public function items() { if (!is_null($this->subMenuItems)) { return $this->subMenuItems; } return $this->subMenuItems = $this->subMenu->items->map(function ($item) { return new SubMenu($item); }); } }