public function handleRequest(RequestInterface $request, callable $next, callable $first)
    {
        $headers = [
            $this->correlationEntryName->parent() => $this->requestIdentifier->current(),
            $this->correlationEntryName->root() => $this->selectBestRootHeaderValue(),
        ];

        foreach ($headers as $headerName => $headerValue) {
            $request = $request->withHeader($headerName, $headerValue);
        }

        return $next($request);
    }