public override ValidationResults Validate(IEnumerable <TSource> collection)
 {
     return(!collection.SequenceEqual(
                orderDirection == OrderDirection.Ascending ? collection.OrderBy(keySelector, keyComparer) : collection.OrderByDescending(keySelector, keyComparer))
                                    ? ValidationResults.Failed(this.ErrorMessage)
                                    : ValidationResults.Success);
 }