public override void WriteStartDocument()
{
if (IsClosed)
ThrowClosed();
if (_writeState != WriteState.Start)
throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.Format(SR.XmlInvalidWriteState, "WriteStartDocument", WriteState.ToString())));
_writeState = WriteState.Prolog;
_documentState = DocumentState.Document;
_writer.WriteDeclaration();
}