public static TSource MaxBy<TSource, TKey>( this IEnumerable<TSource> source, Func<TSource, TKey> selector )