private void CreateWrappedWriter(XmlOutputMethod outMethod) {
Debug.Assert(this.wrapped == null);
// Create either the Xml or Html writer
this.writerSettings.ReadOnly = false;
this.writerSettings.OutputMethod = outMethod;
// If Indent was not set by the user, then default to True for Html
if (outMethod == XmlOutputMethod.Html && this.writerSettings.InternalIndent == TriState.Unknown)
this.writerSettings.Indent = true;
this.writerSettings.ReadOnly = true;
if (textWriter != null)
this.wrapped = ((XmlWellFormedWriter)XmlWriter.Create(this.textWriter, this.writerSettings)).RawWriter;
else
this.wrapped = ((XmlWellFormedWriter)XmlWriter.Create(this.strm, this.writerSettings)).RawWriter;
// Send cached events to the new writer
this.eventCache.EndEvents();
this.eventCache.EventsToWriter(this.wrapped);
// Send OnRemoveWriter event
if (this.onRemove != null)
(this.onRemove)(this.wrapped);
}
}