public override XmlWriter InsertAfter() {
XmlNode node = source;
switch (node.NodeType) {
case XmlNodeType.Attribute:
case XmlNodeType.Document:
case XmlNodeType.DocumentFragment:
throw new InvalidOperationException(Res.GetString(Res.Xpn_BadPosition));
case XmlNodeType.Text:
case XmlNodeType.CDATA:
case XmlNodeType.SignificantWhitespace:
case XmlNodeType.Whitespace:
node = TextEnd(node);
break;
default:
break;
}
DocumentXmlWriter writer = new DocumentXmlWriter(DocumentXmlWriterType.InsertSiblingAfter, node, document);
writer.NamespaceManager = GetNamespaceManager(node.ParentNode, document);
return new XmlWellFormedWriter(writer, writer.Settings);
}