protected override int Correct(int currentOff) { KeyValuePair <int, int> lastEntry = CollectionsHelper.LowerEntry(Corrections, currentOff + 1); int ret = lastEntry.Equals(default(KeyValuePair <int, int>)) ? currentOff : currentOff + lastEntry.Value; Debug.Assert(ret >= 0, "currentOff=" + currentOff + ",diff=" + (ret - currentOff)); return(ret); }