public static IComparer<T> ThenByDescending<T, TKey>(
            this IComparer<T> baseComparer,
            Func<T, TKey> keySelector,
            Func<TKey, TKey, int> keyComparison)
        {