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); }