/// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="element">An element representing a strict region.</param>
        /// <param name="elements">One or more elements, each representing a strict region.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(IWebElement element, params IWebElement[] elements)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Strict_(new SimpleRegionByElement(element));
            foreach (IWebElement elem in elements)
            {
                clone.Strict_(new SimpleRegionByElement(elem));
            }
            return(clone);
        }
        /// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="selector">A selector representing a strict region.</param>
        /// <param name="selectors">One or more selectors representing strict regions.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(By selector, params By[] selectors)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Strict_(new SimpleRegionBySelector(selector));
            foreach (By sel in selectors)
            {
                clone.Strict_(new SimpleRegionBySelector(sel));
            }
            return(clone);
        }
        /// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="element">An element representing a strict region.</param>
        /// <param name="elements">One or more elements, each representing a strict region.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(IWebElement element, params IWebElement[] elements)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Strict_(new SimpleRegionByElement(element));
            clone.fluentCode_.Append($".{nameof(Strict)}({element}");
            foreach (IWebElement elem in elements)
            {
                clone.Strict_(new SimpleRegionByElement(elem));
                clone.fluentCode_.Append($", {elem}");
            }
            clone.fluentCode_.Append(")");
            return(clone);
        }
        /// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="selector">A selector representing a strict region.</param>
        /// <param name="selectors">One or more selectors representing strict regions.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(By selector, params By[] selectors)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Strict_(new SimpleRegionBySelector(selector));
            clone.fluentCode_.Append($".{nameof(Strict)}({selector}");
            foreach (By sel in selectors)
            {
                clone.Strict_(new SimpleRegionBySelector(sel));
                clone.fluentCode_.Append($", {sel}");
            }
            clone.fluentCode_.Append(")");
            return(clone);
        }
        /// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="elements">An enumerbale of elements, each representing a strict region.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(IEnumerable <IWebElement> elements)
        {
            SeleniumCheckSettings clone = Clone_();

            foreach (IWebElement elem in elements)
            {
                clone.Strict_(new SimpleRegionByElement(elem));
            }
            return(clone);
        }
        /// <summary>
        /// Adds one or more strict regions.
        /// </summary>
        /// <param name="selectors">An enumerbale of selectors representing strict regions.</param>
        /// <returns>An updated clone of this settings object.</returns>
        public SeleniumCheckSettings Strict(IEnumerable <By> selectors)
        {
            SeleniumCheckSettings clone = Clone_();

            foreach (By sel in selectors)
            {
                clone.Strict_(new SimpleRegionBySelector(sel));
            }
            return(clone);
        }