protected function doLookup(Person $person, $role, $pageId)
 {
     $hash = md5($person->getId() . '-' . $role . '-' . $pageId);
     if (!isset($this->cache[$hash])) {
         $this->cache[$hash] = $person->isAllowed($role, $pageId);
     }
     return $this->cache[$hash];
 }