public static Argument ValidateAsBoolean(this Argument argument, IEnumerable <string> trueStrings,
                                                 IEnumerable <string> falseStrings, bool caseSensitive = false, string message = null)
        {
            var validator = new BooleanValidator(trueStrings, falseStrings, caseSensitive);

            if (message != null)
            {
                validator.Message = message;
            }
            return(argument.ValidateWith(validator));
        }
        public static Option ValidateAsBoolean(this Option option, string trueString = "true",
                                               string falseString = "false", bool caseSensitive = false, int parameterIndex = -1, string message = null)
        {
            var validator = new BooleanValidator(trueString, falseString, caseSensitive);

            if (message != null)
            {
                validator.Message = message;
            }
            return(option.ValidateWith(parameterIndex, validator));
        }
        public static Argument ValidateAsBoolean(this Argument argument, string trueString = "true",
                                                 string falseString = "false", bool caseSensitive = false, string message = null)
        {
            var validator = new BooleanValidator(trueString, falseString, caseSensitive);

            if (message != null)
            {
                validator.Message = message;
            }
            return(argument.ValidateWith(validator));
        }