public static IQueryable <T> Sort <T, TKey>(this IQueryable <T> source, [NotNull] ISort <T, TKey>?sort, [NotNull] IComparer <TKey>?comparer)
        {
            ThrowHelper.ThrowIfIsNull(sort, nameof(sort));
            ThrowHelper.ThrowIfIsNull(comparer, nameof(comparer));

            return(sort.ApplyTo(source, comparer));
        }
        public static IQueryable <T> Sort <T, TKey>(this IQueryable <T> source, [NotNull] ISort <T, TKey>?sort)
        {
            ThrowHelper.ThrowIfIsNull(sort, nameof(sort));

            return(sort.ApplyTo(source));
        }