/**
  * @param Item $item
  *
  * @return \Illuminate\Contracts\View\View
  */
 public function render(Item $item)
 {
     if ($item->isAuthorized()) {
         $items = [];
         foreach ($item->getItems() as $child) {
             $items[] = (new IlluminateItemRenderer($this->factory))->render($child);
         }
         $badges = [];
         foreach ($item->getBadges() as $badge) {
             $badges[] = (new IlluminateBadgeRenderer($this->factory))->render($badge);
         }
         $appends = [];
         foreach ($item->getAppends() as $append) {
             $appends[] = (new IlluminateAppendRenderer($this->factory))->render($append);
         }
         return $this->factory->make($this->view, ['item' => $item, 'items' => $items, 'badges' => $badges, 'appends' => $appends, 'active' => (new ActiveStateChecker())->isActive($item)])->render();
     }
 }