/**
  * @param \Attw\Router\Route $route
  * @param string             $cController
  * @param string             $cAction
  * @param string             $requestMethod
  * @return array
  */
 private function detectAll(Route $route, $cController, $cAction, $requestMethod, array $params)
 {
     $controllerData = $this->detectActionOrController($route->getController(), $cController, 'controller');
     $actionData = $this->detectActionOrController($route->getAction(), $cAction, 'action');
     if (isset($controllerData['controller_r'], $actionData['action_r'])) {
         if (strtolower($cController) == strtolower($controllerData['controller_r']) && strtolower($cAction) == strtolower($actionData['action_r']) && strtolower($requestMethod) == strtolower($route->getRequestMethod())) {
             $cController = $controllerData['controller_t'];
             $cAction = $actionData['action_t'];
             $paramsSetted = array($controllerData['controller_r'] => $controllerData['controller_t']) == $route->getController() && array($actionData['action_r'] => $actionData['action_t']) == $route->getAction() && strtolower($requestMethod) == strtolower($route->getRequestMethod()) ? $route->getParams() : array();
             $params = $this->detectParams($params, $paramsSetted);
         }
     }
     return array('controller' => $cController, 'action' => $cAction, 'params' => $params);
 }