internal static int GetObjInstanceList(ObjInstanceElementsCollector ObjInst_, string strElementName, EA.Element eaElement, XElement Xel)
        {
            if (eaElement.Type == "Object")
            {
                bool bFound = false;

                if (ObjInst_.GetUseObjClassNameForLookup())
                {
                    if (eaElement.Name.StartsWith(ObjInst_.GetUMLObjClassName()))
                    {
                        bFound = true;
                    }
                }
                else
                {
                    bFound = true;
                }

                if (ObjInst_.GetBaseType() != 0)
                {
                    if (eaElement.ClassifierID == ObjInst_.GetBaseType())
                    {
                        bFound = true;
                    }
                    else
                    {
                        bFound = false;
                    }
                }

                if (bFound)
                {
                    Hashtable hTaggedValues = EAExporter.ParseRunStateString(eaElement.RunState);

                    if (strElementName != null)
                    {
                        XElement XParent = new XElement(strElementName);

                        int iErr = ObjInst_.GetElements(hTaggedValues, XParent, eaElement);

                        Xel.Add(XParent);
                    }
                    else
                    {
                        int iErr = ObjInst_.GetElements(hTaggedValues, Xel, eaElement);
                    }
                }
            }

            return(0);
        }
        internal static int GetObjInstanceList(ObjInstanceElementsCollector ObjInst_, string strElementName, EA.Package eaPackage, XElement Xel, bool bRevIterate = false)
        {
            // Go through each object in this package for Obj Instances
            int iErrCnt = 0;

            if (bRevIterate)
            {
                for (short sLoop = Convert.ToInt16(eaPackage.Elements.Count - 1); sLoop >= 0; sLoop--)
                {
                    EA.Element eaElement = eaPackage.Elements.GetAt(sLoop);
                    iErrCnt = iErrCnt + GetObjInstanceList(ObjInst_, strElementName, eaElement, Xel);
                }
            }
            else
            {
                foreach (EA.Element eaElement in eaPackage.Elements)
                {
                    iErrCnt = iErrCnt + GetObjInstanceList(ObjInst_, strElementName, eaElement, Xel);
                }
            }

            return(iErrCnt);
        }