internal override bool ParseSingleElement(ICollection<XName> unprocessedElements, XElement element)
 {
     if (element.Name.LocalName == "Connection")
     {
         DesignerInfo connectionDesignerInfo = new ConnectionDesignerInfo(this, element);
         connectionDesignerInfo.Parse(unprocessedElements);
         _designerInfos.Add(element.Name.LocalName, connectionDesignerInfo);
     }
     else if (element.Name.LocalName == OptionsDesignerInfo.ElementName)
     {
         DesignerInfo optionsDesignerInfo = new OptionsDesignerInfo(this, element);
         optionsDesignerInfo.Parse(unprocessedElements);
         _designerInfos.Add(element.Name.LocalName, optionsDesignerInfo);
     }
     else if (_diagramArtifact == null
              && element.Name.LocalName == Diagrams.ElementName) // only parse Diagrams element if DiagramArtifact is not available.
     {
         _diagrams = new Diagrams(this, element);
         _diagrams.Parse(unprocessedElements);
     }
     else
     {
         return base.ParseSingleElement(unprocessedElements, element);
     }
     return true;
 }