public function generateItem(NavItem $item)
 {
     $view = 'item';
     $data = ['item' => $item];
     $active = $this->collection->active;
     if ($item->hasChild()) {
         $data = array_merge($data, ['child' => $item->child]);
         if ($item->child->isActive($active)) {
             $view = 'child_active';
         } else {
             $view = 'child';
         }
     } elseif ($item->isActive($active)) {
         $view = 'item_active';
     } else {
         $view = 'item';
     }
     return view($this->views[$view], $data)->render();
 }