public static IComparer <T> ThenBy <T, TKey>( [NotNull] this IComparer <T> comparer, [NotNull] Func <T, TKey> keySelector, IComparer <TKey>?keyComparer = null) { comparer.CheckArgumentNull(nameof(comparer)); return(comparer.ChainWith(By(keySelector, keyComparer))); }