public function handleRequest(Request $request, Language $language)
    {
        $uri   = $this->getRequestedPath($request, $language);
        $route = $this->repository->getByPath($uri, $language->code);

        if (empty($route) || $route->getRoutable() === null) {
            throw new NotFoundHttpException();
        }

        if (!$this->routeCanBeShown($route)) {
            throw new NotFoundHttpException();
        }

        event(new RouteMatched($route, $request));

        return $route->getRoutable()->handle($language);
    }