public static ValidateTarget <double?> IsNegativeInfinity([ValidatedNotNull] this ValidateTarget <double?> target, Func <string> getErrorMessage = null)
        {
            if (!target.Value.HasValue || !double.IsNegativeInfinity(target.Value.Value))
            {
                ExceptionFactory.ThrowException(target.Traits.OutOfRangeExceptionType, getErrorMessage != null ? getErrorMessage.Invoke() : ErrorMessageFactory.ShouldBeNegativeInfinity(target));
            }

            return(target);
        }