public override void Close() {
if ( state == State.Closed ) {
return;
}
try {
while ( (int)reader.ReadState <= (int)ReadState.Interactive && state != State.EndOfFile ) {
Skip();
}
}
catch { // never fail...
}
finally {
state = State.Closed;
SetEmptyNode();
}
}