protected function executeHandler()/*# : bool */
    {
        // search handler
        $handler = $this->result->getHandler();

        if (is_null($handler)) {
            // matched, but no handler found
            return $this->defaultHandler();
        } else {
            $callable = $this->resolver->resolve($handler);

            // extension ?
            if (($route = $this->result->getRoute()) && $route->hasExtension()) {
                if ($route->runExtensions(Route::BEFORE_ROUTE, $this->result)) {
                    $callable($this->result);
                    $route->runExtensions(Route::AFTER_ROUTE, $this->result);
                }
            } else {
                $callable($this->result);
            }
            return true;
        }
    }