protected override void Dispose( bool disposing )
{
if ( disposing )
{
if ( this._state != State.Disposed )
{
// Drain...
this.Drain();
if ( this._parent != null )
{
this._parent.EndReadSubtree();
}
else
{
this._root.EndReadSubtree();
}
this._state = State.Disposed;
}
}
base.Dispose( disposing );
}