internal static ISet <MatchDomainAbstractionLevelP> CheckDomainAbstractionLevelP(LL.MDE.DataModels.EnAr.Package abstractionLevelP)
        {
            ISet <MatchDomainAbstractionLevelP> result = new HashSet <MatchDomainAbstractionLevelP>();
            string alpName = abstractionLevelP.Name;

            LL.MDE.DataModels.EnAr.Package fctsysP = abstractionLevelP.ParentPackage();
            string fctsysName = fctsysP.Name;
            MatchDomainAbstractionLevelP match = new MatchDomainAbstractionLevelP()
            {
                abstractionLevelP = abstractionLevelP,
                alpName           = alpName,
                fctsysP           = fctsysP,
                fctsysName        = fctsysName,
            };

            result.Add(match);

            return(result);
        }
        internal static ISet <MatchDomainAbstractionLevelP> CheckDomainAbstractionLevelP(LL.MDE.DataModels.EnAr.Package abstractionLevelP)
        {
            ISet <MatchDomainAbstractionLevelP> result = new HashSet <MatchDomainAbstractionLevelP>();

            foreach (LL.MDE.DataModels.EnAr.Package bpP  in abstractionLevelP.Packages.OfType <LL.MDE.DataModels.EnAr.Package>())
            {
                LL.MDE.DataModels.EnAr.Element bpPE = bpP.Element;
                if (bpP.ParentPackage() == abstractionLevelP)
                {
                    foreach (LL.MDE.DataModels.EnAr.Element childEl  in bpP.Elements.OfType <LL.MDE.DataModels.EnAr.Element>())
                    {
                        if (bpPE.Stereotype == "block properties" && bpPE.ElementPackage() == bpP)
                        {
                            string id     = childEl.ElementGUID;
                            string elName = childEl.Name;
                            long   reid   = childEl.ElementID;
                            LL.MDE.DataModels.EnAr.Element classifierEl = childEl.Classifier();
                            if (childEl.Type == "Object" && childEl.ElementPackage() == bpP)
                            {
                                string classifierName = classifierEl.Name;
                                MatchDomainAbstractionLevelP match = new MatchDomainAbstractionLevelP()
                                {
                                    abstractionLevelP = abstractionLevelP,
                                    bpP            = bpP,
                                    bpPE           = bpPE,
                                    childEl        = childEl,
                                    id             = id,
                                    elName         = elName,
                                    reid           = reid,
                                    classifierEl   = classifierEl,
                                    classifierName = classifierName,
                                };
                                result.Add(match);
                            }
                        }
                    }
                }
            }

            return(result);
        }