public override void Close () { // close all open elements while (element_kinds.Count > 0) WriteEndElement (); if (close_output) output.Close (); else output.Flush (); state = WriteState.Closed; }