public override void Parse(System.Xml.XmlNode dom) { this.Name = dom.Attributes["Name"].Value; foreach (XmlNode n in dom.ChildNodes) { if (n.Name == "End") { var end = new End(); end.Parse(n); end.Parent = this; this.Ends.Add(end.Role, end); } else if (n.Name == "ReferentialConstraint") { var referentialConstraint = new ReferentialConstraint(); referentialConstraint.Parse(n); referentialConstraint.Parent = this; this.ReferentialConstraint = referentialConstraint; } } base.Parse(dom); }