public SortSequenceContext(Func <TElement, TKey> selector, IComparer <TKey> comparer, SortDirection direction, SortContext <TElement> childContext)
     : base(direction, childContext)
 {
     _selector = selector;
     _comparer = comparer;
 }
 private QuickSort(IEnumerable <TElement> source, SortContext <TElement> context)
 {
     _elements = source.ToArray();
     _indexes  = CreateIndexes(_elements.Length);
     _context  = context;
 }
 public abstract SortContext <TElement> CreateContext(SortContext <TElement> current);