public function getMatchedRule($cacheRule = null)
    {
        $request = $this->getRequest();

        if (!empty($cacheRule)) {
            if (isset($this->cacheRules[$cacheRule])) {
                $cr = $this->cacheRules[$cacheRule];
                $cacheKey = $cr->match($request);

                return new MatchedRule(clone $cr, $cacheKey);
            }
        } else {
            foreach ($this->cacheRules as $cr) {
                if (($cacheKey = $cr->match($request))) {
                    return new MatchedRule(clone $cr, $cacheKey);
                }
            }
        }


        return false;
    }