public function match(GenericRequest $request)
    {
        Utils::reset();

        $handlers    = $this->getHandlers();
        $matchResult = WurflConstants::NO_MATCH;

        foreach ($handlers as $handler) {
            /** @var $handler \Wurfl\Handlers\AbstractHandler */
            $handler->setLogger($this->logger);

            if ($handler->canHandle($request->getUserAgentNormalized())) {
                $matchResult = $handler->applyMatch($request);
                break;
            }
        }

        return $matchResult;
    }