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

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

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

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

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

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

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