/**
  * Helper to find an item by either id or identity
  *
  * @return Item
  */
 private function findItem($token)
 {
     if ($token == (int) $token && is_numeric($token) && $token) {
         $item = Item::find($token);
     } elseif (is_string($token) && $token) {
         $item = Item::findByIdentity($token);
     } else {
         throw new \InvalidArgumentException('Invalid item identity requested.');
     }
     return $item;
 }