/// <summary>
        /// Throws <see cref="ArgumentException"/> if element count is not less than <paramref name="value"/>
        /// </summary>
        /// <exception cref="ArgumentException">Throws if element count is not less than <paramref name="value"/></exception>
        /// <exception cref="ArgValidationException">Throws if argument is <c>null</c></exception>
        public static Argument <TEnumerable> CountLessThan <TEnumerable>(this Argument <TEnumerable> arg, int value)
            where TEnumerable : IEnumerable
        {
            if (arg.ValidationIsDisabled())
            {
                return(arg);
            }

            InvalidMethodArgumentThrower.IfArgumentIsNullForCount(arg);

            if (!arg.Value.CountLessThan(value))
            {
                ValidationErrorExceptionThrower.ArgumentException(arg,
                                                                  $"Argument '{arg.Name}' must contains less than {value} elements. Current count elements: {arg.Value.Count()}");
            }

            return(arg);
        }
        /// <summary>
        /// Throws <see cref="ArgumentException"/> if element count is equals <paramref name="value"/>
        /// </summary>
        /// <exception cref="ArgumentException">Throws if element count is equals <paramref name="value"/></exception>
        /// <exception cref="ArgValidationException">Throws if argument is <c>null</c></exception>
        public static Argument <TEnumerable> CountNotEqual <TEnumerable>(this Argument <TEnumerable> arg, int value)
            where TEnumerable : IEnumerable
        {
            if (arg.ValidationIsDisabled())
            {
                return(arg);
            }

            InvalidMethodArgumentThrower.IfArgumentIsNullForCount(arg);

            if (arg.Value.CountEquals(value))
            {
                ValidationErrorExceptionThrower.ArgumentException(arg,
                                                                  $"Argument '{arg.Name}' not must contains {arg.Value.Count()} elements");
            }

            return(arg);
        }