/// <summary>
        /// Loads the prerequisites for the selector.
        /// </summary>
        /// <param name="driver">The Selenium web driver.</param>
        /// <param name="loader">The loader.</param>
        /// <param name="timeout">The timeout value for the prerequisites load.</param>
        /// <param name="loadParams">The additional parameters for load script.</param>
        private static void LoadPrerequisites(
            this IWebDriver driver,
            ILoader loader,
            TimeSpan timeout,
            params string[] loadParams)
        {
            if (driver.CheckSelectorPrerequisites(loader))
            {
                return;
            }

            driver.ExecuteScript(loader.LoadScript(loadParams));
            var wait = new WebDriverWait(driver, timeout);

            wait.Until(d => driver.CheckSelectorPrerequisites(loader));
        }
        private static void LoadExternalLibrary(
            this IWebDriver driver, ISelector selector, Uri url, TimeSpan timeout)
        {
            if (driver.CheckSelectorPrerequisites(selector))
            {
                return;
            }

            driver.ExecuteScript(JavaScriptSnippets.LoadScriptCode(url));
            new WebDriverWait(driver, timeout).Until(x => x.CheckSelectorPrerequisites(selector));
        }