public function loadTagsByKeyword($keyword, $language, Request $request)
    {
        $offset = $request->query->has('offset') ? (int) $request->query->get('offset') : 0;
        $limit = $request->query->has('limit') ? (int) $request->query->get('limit') : 25;

        $tags = $this->tagsService->loadTagsByKeyword(
            $keyword,
            $language,
            true,
            $offset >= 0 ? $offset : 0,
            $limit >= 0 ? $limit : 25
        );

        $restTags = [];
        foreach ($tags as $tag) {
            $restTags[] = new Values\RestTag($tag, 0, 0);
        }

        return new Values\CachedValue(
            new Values\TagList(
                $restTags,
                $request->getPathInfo()
            ),
            ['tagKeyword' => $keyword . '|#' . $language]
        );
    }