NodeWriter
object is used to create a writer that will write well formed indented XML for a given output node. This is used in the serialization process to convert an object into an XML document. This keeps a stack of all the active output nodes so that if an output node has been committed it cannot write any further data to the XML document. This allows all output nodes to be independent of each other as the node write organizes the write access.