public static IOrderedQueryable <T> ThenBy <T>(this IOrderedQueryable <T> source, string keyPropertyPath, bool descending = false) { return(source.OrderByCore(keyPropertyPath, !descending ? s_thenByMethodDefinition : s_thenByDescendingMethodDefinition)); }