public override void WriteEndDocument()
{
if (IsClosed)
ThrowClosed();
if (_writeState == WriteState.Start || _writeState == WriteState.Prolog)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.XmlNoRootElement)));
FinishDocument();
_writeState = WriteState.Start;
_documentState = DocumentState.End;
}