public override void Trim() { // Trim stacks base.Trim(); // Trim local pools individually QueryBranchResultSet result = this.resultPool; while (null != result) { result.Trim(); result = result.Next; } NodeSequence sequence = this.sequencePool; while (null != sequencePool) { sequencePool.Trim(); sequence = sequence.Next; } ProcessingContext context = this.contextPool; while (null != context) { context.Trim(); context = context.Next; } }