public static CompoundSymbolDefinition CreateDefault()
        {
            var sym = new CompoundSymbolDefinition()
            {
                SimpleSymbol = new System.ComponentModel.BindingList <SimpleSymbol>(),
            };

            return(sym);
        }
        public static IResource Deserialize(string xml)
        {
            //HACK: We have to peek at the XML to determine if this is simple or compound.
            var doc = new XmlDocument();

            doc.LoadXml(xml);
            if (doc.DocumentElement.Name == "SimpleSymbolDefinition") //NOXLATE
            {
                return(SimpleSymbolDefinition.Deserialize(xml));
            }
            else
            {
                if (doc.DocumentElement.Name == "CompoundSymbolDefinition") //NOXLATE
                {
                    return(CompoundSymbolDefinition.Deserialize(xml));
                }
                else //WTF?
                {
                    throw new SerializationException();
                }
            }
        }
 public static ICompoundSymbolDefinition CreateDefaultCompound()
 {
     return(CompoundSymbolDefinition.CreateDefault());
 }