public void EraseRange(long firstKeyIndex, long lastKeyIndex) { Debug.Assert(firstKeyIndex >= 0); Debug.Assert(lastKeyIndex < _keyValueCount); if (firstKeyIndex == 0 && lastKeyIndex == _keyValueCount - 1) { _rootNode = null; _keyValueCount = 0; return; } _keyValueCount -= lastKeyIndex - firstKeyIndex + 1; _rootNode = _rootNode.EraseRange(TransactionId, firstKeyIndex, lastKeyIndex); }