private DesignerItemBase DeserializeDesignerItem(List <ModuleDescription> moduleDescriptions, XElement itemXML)
        {
            DesignerItemBase item = new DesignerItemBase();

            item.ID                = new Guid(itemXML.Element("ID").Value);
            item.ItemLabel         = itemXML.Element("ItemLabel") == null ? "" : itemXML.Element("ItemLabel").Value;
            item.ModuleDescription = moduleDescriptions.Where(t => t.ModuleType.Name == itemXML.Element("ModuleDescription").Value).FirstOrDefault();
            return(item);
        }
        private void DeserializeDesignerItems(List <ModuleDescription> moduleDescriptions, XElement root)
        {
            IEnumerable <XElement> itemsXML = root.Elements("DesignerItems").Elements("DesignerItem");

            foreach (XElement itemXML in itemsXML)
            {
                DesignerItemBase item = DeserializeDesignerItem(moduleDescriptions, itemXML);
                item.State = ItemState.NotExecuted;
                DesignerItems.Add(item);
            }
        }