/**
  * Redefined action-handler to match the declarative action to a "real", implemented action.
  * The permission handling and other stuff is checked by the base-class.
  *
  * @param string $strAction
  *
  * @return string
  */
 public function action($strAction = "")
 {
     if ($strAction == "") {
         $strActionName = $this->getAction();
     } else {
         $strActionName = $strAction;
     }
     $this->strOriginalAction = $strActionName;
     if (!$this->checkMethodExistsInConcreteClass("action" . ucfirst($strActionName))) {
         foreach (self::$arrActionNameMapping as $strAutoMatchAction => $strAnnotation) {
             $this->autoMatchAction($strAutoMatchAction, $strAnnotation, $strActionName);
         }
     }
     return parent::action($strActionName);
 }