/**
  * getItemAccessPermission
  *
  * @param MenuItem $item to find permission target item object
  *
  * @return \Xpressengine\Permission\Permission
  * @throws \Xpressengine\Permission\Exceptions\WrongInstanceException
  */
 public function getItemAccessPermission(MenuItem $item)
 {
     $registered = $this->permission->findRegistered($this->permissionType, $item->getBreadCrumbsKeyString());
     $pureGrant = $registered->pure(Action::ACCESS);
     $mode = $pureGrant === null ? "inherit" : "manual";
     $menuAccessGrant = $registered->offsetGet(Action::ACCESS);
     $groups = $this->groupRepo->findAll($menuAccessGrant['group']);
     $users = $this->memberRepo->findAll($menuAccessGrant['user']);
     $excepts = $this->memberRepo->findAll($menuAccessGrant['except']);
     return ['mode' => $mode, 'rating' => $menuAccessGrant['rating'], 'group' => $groups, 'user' => $users, 'except' => $excepts];
 }