public void sort(int from, int to) {checkRange(from, to);if (to - from <= 1) {return;}reset(from, to);do {ensureInvariants();pushRunLen(nextRun());} while (runEnd(0) < to);exhaustStack();assert runEnd(0) == to;}
public override void Sort(int from, int to){CheckRange(from, to);if (to - from <= 1){return;}Reset(from, to);do{EnsureInvariants();PushRunLen(NextRun());} while (RunEnd(0) < to);ExhaustStack();Debug.Assert(RunEnd(0) == to);}