private XDocument SerializeXDocument(object obj)
{
// This method must be called by any public Serialize method
m_isSerializing = true;
if(m_serializedStack == null)
m_serializedStack = new Stack<object>();
m_mainDocument = new XDocument();
m_mainDocument.Add(SerializeBase(obj));
return m_mainDocument;
}