public function findFactory(PathInformationInterface $path, $mode)
    {
        $factoryList    = clone $this->factoryList;
        foreach ($factoryList as $factory) {
            /** @var $factory Factory */
            if ($factory->canHandle($path, $mode)) {
                return $factory;
            }
        }
        throw new \RuntimeException('No factory found to handle the requested path');
    }