public virtual void Serialize(XmlDocument doc, Object graph) { if (Object.ReferenceEquals(null, doc)) { throw new ArgumentNullException("doc"); } if (Object.ReferenceEquals(null, graph)) { throw new ArgumentNullException("graph"); } IXmlable objXmlable = graph as IXmlable; if (Object.ReferenceEquals(null, objXmlable)) { throw new ArgumentException("can't convert to IXmlable", "graph"); } doc.RemoveAll(); XmlContext cnt = new XmlContext(this, doc); XmlElement ele = cnt.ToXml(objXmlable); doc.AppendChild(ele); }