public XElement Serialize() { XElement root = new XElement(XmlRootName); root.Add(new XElement("name", Name)); if (CreatedBy != null) { XElement created = new XElement("created"); created.Add(new XAttribute("by", CreatedBy)); created.Add(new XAttribute("on", CreatedDate.ToUnixTimeString())); root.Add(created); } if (EditedBy != null) { XElement edited = new XElement("edited"); edited.Add(new XAttribute("by", EditedBy)); edited.Add(new XAttribute("on", EditedDate.ToUnixTimeString())); root.Add(edited); } root.Add(Bounds.Serialize()); root.Add(Controller.Serialize()); return(root); }