void Initialize (TextWriter writer)
{
if (writer == null)
throw new ArgumentNullException ("writer");
XmlNameTable name_table = new NameTable ();
this.writer = writer;
if (writer is StreamWriter)
base_stream = ((StreamWriter) writer).BaseStream;
source = writer;
nsmanager = new XmlNamespaceManager (name_table);
newline = writer.NewLine;
escaped_text_chars =
newline_handling != NewLineHandling.None ?
new char [] {'&', '<', '>', '\r', '\n'} :
new char [] {'&', '<', '>'};
escaped_attr_chars =
new char [] {'"', '&', '<', '>', '\r', '\n'};
}