/**
  * Calculates the cache identifier for a given error.
  *
  * @param  Error  $error
  * @return string        sha1
  */
 public function calculateCacheIdentifier(Error $error)
 {
     $parts = array();
     $parts[] = $error->getHost();
     $parts[] = $error->getLanguage();
     $parts[] = $error->getStatusCode();
     $parts[] = join(',', (array) $this->frontendUser->getUserGroups());
     if ($error->getStatusCode() === Error::STATUS_CODE_FORBIDDEN) {
         $parts[] = $error->getCurrentUrl();
     }
     return sha1(join('---', $parts));
 }
 /**
  * [find404PageForError description]
  * @param  Error  $error [description]
  * @return \R3H6\Error404page\Domain\Model\Page|null
  */
 public function find404PageForError(Error $error)
 {
     $doktype = (int) $this->extensionConfiguration->get('doktypeError404page');
     $page = $this->findFirstByHostAndDoktype($error->getHost(), $doktype);
     if ($page === null) {
         $page = $this->findFirstWithoutHostByDoktype($doktype);
     }
     return $page;
 }