internal static OrderedEnumerableRowCollection <TRow> Create <TRow, TKey> (IEnumerable <TRow> source, Func <TRow, TKey> keySelector, IComparer <TKey> comparer, bool descending) { var sorter = new SortComparer <TRow> (); sorter.AddSort <TKey> (keySelector, comparer, descending); return(new OrderedEnumerableRowCollection <TRow> (new SortedEnumerable <TRow> (source, sorter))); }