private function createChainVisitor(): HttpProtocolChainVisitor
    {
        $chainVisitors = new HttpProtocolChainVisitor();
        $visitors = clone $this->visitors;
        $priority = 0;

        foreach ($visitors as $visitor) {
            $chainVisitors->add($visitor, ++$priority);
        }

        return $chainVisitors;
    }