public SeleniumCheckSettings Floating(IWebElement element, int maxOffset = 0)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionByElement(element, maxOffset, maxOffset, maxOffset, maxOffset));
            return(clone);
        }
        public SeleniumCheckSettings Floating(IWebElement element, int maxUpOffset, int maxDownOffset, int maxLeftOffset, int maxRightOffset)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionByElement(element, maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset));
            return(clone);
        }
        public SeleniumCheckSettings Floating(By regionSelector, int maxOffset = 0)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionBySelector(regionSelector, maxOffset, maxOffset, maxOffset, maxOffset));
            return(clone);
        }
        public SeleniumCheckSettings Floating(By regionSelector, int maxUpOffset, int maxDownOffset, int maxLeftOffset, int maxRightOffset)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionBySelector(regionSelector, maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset));
            return(clone);
        }
        public SeleniumCheckSettings Floating(IWebElement element, int maxOffset = 0)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionByElement(element, maxOffset, maxOffset, maxOffset, maxOffset));
            clone.fluentCode_.Append($".{nameof(Floating)}({element},{maxOffset})");
            return(clone);
        }
        public SeleniumCheckSettings Floating(By regionSelector, int maxOffset = 0)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.Floating_(new FloatingRegionBySelector(regionSelector, maxOffset, maxOffset, maxOffset, maxOffset));
            clone.fluentCode_.Append($".{nameof(Floating)}({regionSelector},{maxOffset})");
            return(clone);
        }
        public SeleniumCheckSettings Floating(int maxUpOffset, int maxDownOffset, int maxLeftOffset, int maxRightOffset, params IWebElement[] elementsToIgnore)
        {
            SeleniumCheckSettings clone = Clone_();

            foreach (IWebElement element in elementsToIgnore)
            {
                clone.Floating_(new FloatingRegionByElement(element, maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset));
            }
            return(clone);
        }
        public SeleniumCheckSettings Floating(int maxUpOffset, int maxDownOffset, int maxLeftOffset, int maxRightOffset, params IWebElement[] elementsToIgnore)
        {
            SeleniumCheckSettings clone = Clone_();

            clone.fluentCode_.Append($".{nameof(Floating)}({maxUpOffset},{maxDownOffset},{maxLeftOffset},{maxRightOffset}");
            foreach (IWebElement element in elementsToIgnore)
            {
                clone.Floating_(new FloatingRegionByElement(element, maxUpOffset, maxDownOffset, maxLeftOffset, maxRightOffset));
                clone.fluentCode_.Append($", {element}");
            }
            clone.fluentCode_.Append(")");
            return(clone);
        }