/**
  * error action
  */
 public function errorAction()
 {
     $this->clearCacheOnError();
     if ($this->arguments instanceof Arguments) {
         $validationResult = $this->arguments->getValidationResults();
         if ($validationResult->hasErrors()) {
             $referringRequest = $this->request->getReferringRequest();
             if ($referringRequest !== null) {
                 $originalRequest = clone $this->request;
                 $this->request->setOriginalRequest($originalRequest);
                 $this->request->setOriginalRequestMappingResults($this->arguments->getValidationResults());
                 $this->forward($referringRequest->getControllerActionName(), $referringRequest->getControllerName(), $referringRequest->getControllerExtensionName(), $referringRequest->getArguments());
             }
         }
     }
     // clear any previous flashmessage in order to avoid double entries
     $flashMessageQueue = $this->getFlashMessageQueue();
     if ($flashMessageQueue instanceof FlashMessageQueue) {
         $flashMessageQueue->__call('getAllMessagesAndFlush', []);
     }
     $this->addFlashMessage($this->getErrorFlashMessage(), '', FlashMessage::ERROR);
     $this->session->clean();
 }