final public static function factory(WebDriver_Command $command, array $infoList = [], $rawResponse = null)
    {
        $httpStatusCode = isset($infoList['http_code']) ? $infoList['http_code'] : 0;
        $messageList = [
            $rawResponse,
            static::getCommandDescription($command)
        ];
        $message = implode("\n", array_merge(["WebDriver Invalid Request Error: {$httpStatusCode}"], $messageList));
        $exception = new WebDriver_Exception_InvalidRequest($message);
        $exception->httpStatusCode = $httpStatusCode;
        return $exception;
    }