public override void WriteXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (Header != null)
            {
                ele.TryPathTo("Header", true, out subEle);
                Header.WriteXML(subEle, master);
            }
            if (ObjectList != null)
            {
                ele.TryPathTo("ObjectList", true, out subEle);
                ObjectList.WriteXML(subEle, master);
            }
            if (MapName != null)
            {
                ele.TryPathTo("MapName", true, out subEle);
                MapName.WriteXML(subEle, master);
            }
            if (GrassList != null)
            {
                ele.TryPathTo("GrassList", true, out subEle);
                GrassList.WriteXML(subEle, master);
            }
            if (MusicType != null)
            {
                ele.TryPathTo("MusicType", true, out subEle);
                MusicType.WriteXML(subEle, master);
            }
            if (Music != null)
            {
                ele.TryPathTo("Music", true, out subEle);
                Music.WriteXML(subEle, master);
            }
            if (IncidentalMediaSet != null)
            {
                ele.TryPathTo("MediaSet/Incidental", true, out subEle);
                IncidentalMediaSet.WriteXML(subEle, master);
            }
            if (BattleMediaSets != null)
            {
                ele.TryPathTo("MediaSet/Battle", true, out subEle);
                foreach (var entry in BattleMediaSets)
                {
                    XElement newEle = new XElement("MediaSet");
                    entry.WriteXML(newEle, master);
                    subEle.Add(newEle);
                }
            }
            if (Sounds != null)
            {
                ele.TryPathTo("Sounds", true, out subEle);
                Sounds.WriteXML(subEle, master);
            }
            if (Weathers != null)
            {
                ele.TryPathTo("Weathers", true, out subEle);
                Weathers.WriteXML(subEle, master);
            }
            if (Imposters != null)
            {
                ele.TryPathTo("Imposters", true, out subEle);
                Imposters.WriteXML(subEle, master);
            }
        }