private function requestTargetGroup(Request $request, CacheInvalidation $kernel, int $currentTargetGroup = null)
    {
        $targetGroupRequest = Request::create(
            static::TARGET_GROUP_URL,
            Request::METHOD_GET,
            [],
            [],
            [],
            $request->server->all()
        );

        if ($currentTargetGroup) {
            $targetGroupRequest->headers->set(static::TARGET_GROUP_HEADER, $currentTargetGroup);
        }

        $targetGroupRequest->headers->set(static::USER_CONTEXT_URL_HEADER, $request->getUri());

        $targetGroupResponse = $kernel->handle($targetGroupRequest);

        return $targetGroupResponse->headers->get(static::TARGET_GROUP_HEADER);
    }