public Obligations(XmlNode xmlNode)
        {
            XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");

            if (categoryNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in categoryNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        categoryIDRef = item.Attributes["id"].Name;
                        ObligationCategoryEnum ob = ObligationCategoryEnum();
                        IDManager.SetID(categoryIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        categoryIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        category = new ObligationCategoryEnum(item);
                    }
                }
            }


            XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");

            if (notSubordinatedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notSubordinatedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notSubordinatedIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notSubordinatedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notSubordinatedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notSubordinated = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");

            if (specifiedCurrencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in specifiedCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specifiedCurrencyIDRef = item.Attributes["id"].Name;
                        SpecifiedCurrency ob = SpecifiedCurrency();
                        IDManager.SetID(specifiedCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specifiedCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specifiedCurrency = new SpecifiedCurrency(item);
                    }
                }
            }


            XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");

            if (notSovereignLenderNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notSovereignLenderNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notSovereignLenderIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notSovereignLenderIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notSovereignLenderIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notSovereignLender = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");

            if (notDomesticCurrencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                        NotDomesticCurrency ob = NotDomesticCurrency();
                        IDManager.SetID(notDomesticCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticCurrency = new NotDomesticCurrency(item);
                    }
                }
            }


            XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");

            if (notDomesticLawNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticLawNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticLawIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notDomesticLawIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticLawIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticLaw = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");

            if (listedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in listedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        listedIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(listedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        listedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        listed = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");

            if (notDomesticIssuanceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticIssuanceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticIssuanceIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notDomesticIssuanceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticIssuanceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticIssuance = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");

            if (fullFaithAndCreditObLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in fullFaithAndCreditObLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        fullFaithAndCreditObLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(fullFaithAndCreditObLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        fullFaithAndCreditObLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        fullFaithAndCreditObLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");

            if (generalFundObligationLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in generalFundObligationLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        generalFundObligationLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(generalFundObligationLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        generalFundObligationLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        generalFundObligationLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");

            if (revenueObligationLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in revenueObligationLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        revenueObligationLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(revenueObligationLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        revenueObligationLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        revenueObligationLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");

            if (notContingentNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notContingentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notContingentIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notContingentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notContingentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notContingent = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");

            if (excludedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in excludedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        excludedIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(excludedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        excludedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        excluded = new XsdTypeString(item);
                    }
                }
            }


            XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");

            if (othReferenceEntityObligationsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in othReferenceEntityObligationsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        othReferenceEntityObligations = new XsdTypeString(item);
                    }
                }
            }


            XmlNodeList designatedPriorityNodeList = xmlNode.SelectNodes("designatedPriority");

            if (designatedPriorityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in designatedPriorityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        designatedPriorityIDRef = item.Attributes["id"].Name;
                        Lien ob = Lien();
                        IDManager.SetID(designatedPriorityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        designatedPriorityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        designatedPriority = new Lien(item);
                    }
                }
            }


            XmlNodeList cashSettlementOnlyNodeList = xmlNode.SelectNodes("cashSettlementOnly");

            if (cashSettlementOnlyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in cashSettlementOnlyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        cashSettlementOnlyIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(cashSettlementOnlyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        cashSettlementOnlyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        cashSettlementOnly = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList deliveryOfCommitmentsNodeList = xmlNode.SelectNodes("deliveryOfCommitments");

            if (deliveryOfCommitmentsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in deliveryOfCommitmentsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        deliveryOfCommitmentsIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(deliveryOfCommitmentsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        deliveryOfCommitmentsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        deliveryOfCommitments = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList continuityNodeList = xmlNode.SelectNodes("continuity");

            if (continuityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in continuityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        continuityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(continuityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        continuityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        continuity = new XsdTypeBoolean(item);
                    }
                }
            }
        }
Пример #2
0
        public DeliverableObligations(XmlNode xmlNode)
        {
            XmlNodeList accruedInterestNodeList = xmlNode.SelectNodes("accruedInterest");

            if (accruedInterestNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in accruedInterestNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        accruedInterestIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(accruedInterestIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        accruedInterestIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        accruedInterest = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");

            if (categoryNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in categoryNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        categoryIDRef = item.Attributes["id"].Name;
                        ObligationCategoryEnum ob = ObligationCategoryEnum();
                        IDManager.SetID(categoryIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        categoryIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        category = new ObligationCategoryEnum(item);
                    }
                }
            }


            XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");

            if (notSubordinatedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notSubordinatedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notSubordinatedIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notSubordinatedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notSubordinatedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notSubordinated = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");

            if (specifiedCurrencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in specifiedCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specifiedCurrencyIDRef = item.Attributes["id"].Name;
                        SpecifiedCurrency ob = SpecifiedCurrency();
                        IDManager.SetID(specifiedCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specifiedCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specifiedCurrency = new SpecifiedCurrency(item);
                    }
                }
            }


            XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");

            if (notSovereignLenderNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notSovereignLenderNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notSovereignLenderIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notSovereignLenderIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notSovereignLenderIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notSovereignLender = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");

            if (notDomesticCurrencyNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticCurrencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                        NotDomesticCurrency ob = NotDomesticCurrency();
                        IDManager.SetID(notDomesticCurrencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticCurrencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticCurrency = new NotDomesticCurrency(item);
                    }
                }
            }


            XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");

            if (notDomesticLawNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticLawNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticLawIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notDomesticLawIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticLawIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticLaw = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");

            if (listedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in listedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        listedIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(listedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        listedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        listed = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");

            if (notContingentNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notContingentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notContingentIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notContingentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notContingentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notContingent = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");

            if (notDomesticIssuanceNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notDomesticIssuanceNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notDomesticIssuanceIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notDomesticIssuanceIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notDomesticIssuanceIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notDomesticIssuance = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList assignableLoanNodeList = xmlNode.SelectNodes("assignableLoan");

            if (assignableLoanNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in assignableLoanNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        assignableLoanIDRef = item.Attributes["id"].Name;
                        PCDeliverableObligationCharac ob = PCDeliverableObligationCharac();
                        IDManager.SetID(assignableLoanIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        assignableLoanIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        assignableLoan = new PCDeliverableObligationCharac(item);
                    }
                }
            }


            XmlNodeList consentRequiredLoanNodeList = xmlNode.SelectNodes("consentRequiredLoan");

            if (consentRequiredLoanNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in consentRequiredLoanNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        consentRequiredLoanIDRef = item.Attributes["id"].Name;
                        PCDeliverableObligationCharac ob = PCDeliverableObligationCharac();
                        IDManager.SetID(consentRequiredLoanIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        consentRequiredLoanIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        consentRequiredLoan = new PCDeliverableObligationCharac(item);
                    }
                }
            }


            XmlNodeList directLoanParticipationNodeList = xmlNode.SelectNodes("directLoanParticipation");

            if (directLoanParticipationNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in directLoanParticipationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        directLoanParticipationIDRef = item.Attributes["id"].Name;
                        LoanParticipation ob = LoanParticipation();
                        IDManager.SetID(directLoanParticipationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        directLoanParticipationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        directLoanParticipation = new LoanParticipation(item);
                    }
                }
            }


            XmlNodeList transferableNodeList = xmlNode.SelectNodes("transferable");

            if (transferableNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in transferableNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        transferableIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(transferableIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        transferableIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        transferable = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList maximumMaturityNodeList = xmlNode.SelectNodes("maximumMaturity");

            if (maximumMaturityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in maximumMaturityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        maximumMaturityIDRef = item.Attributes["id"].Name;
                        Period ob = Period();
                        IDManager.SetID(maximumMaturityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        maximumMaturityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        maximumMaturity = new Period(item);
                    }
                }
            }


            XmlNodeList acceleratedOrMaturedNodeList = xmlNode.SelectNodes("acceleratedOrMatured");

            if (acceleratedOrMaturedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in acceleratedOrMaturedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        acceleratedOrMaturedIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(acceleratedOrMaturedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        acceleratedOrMaturedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        acceleratedOrMatured = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList notBearerNodeList = xmlNode.SelectNodes("notBearer");

            if (notBearerNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in notBearerNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        notBearerIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(notBearerIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        notBearerIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        notBearer = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");

            if (fullFaithAndCreditObLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in fullFaithAndCreditObLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        fullFaithAndCreditObLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(fullFaithAndCreditObLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        fullFaithAndCreditObLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        fullFaithAndCreditObLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");

            if (generalFundObligationLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in generalFundObligationLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        generalFundObligationLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(generalFundObligationLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        generalFundObligationLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        generalFundObligationLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");

            if (revenueObligationLiabilityNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in revenueObligationLiabilityNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        revenueObligationLiabilityIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(revenueObligationLiabilityIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        revenueObligationLiabilityIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        revenueObligationLiability = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList indirectLoanParticipationNodeList = xmlNode.SelectNodes("indirectLoanParticipation");

            if (indirectLoanParticipationNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in indirectLoanParticipationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        indirectLoanParticipationIDRef = item.Attributes["id"].Name;
                        LoanParticipation ob = LoanParticipation();
                        IDManager.SetID(indirectLoanParticipationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        indirectLoanParticipationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        indirectLoanParticipation = new LoanParticipation(item);
                    }
                }
            }


            XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");

            if (excludedNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in excludedNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        excludedIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(excludedIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        excludedIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        excluded = new XsdTypeString(item);
                    }
                }
            }


            XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");

            if (othReferenceEntityObligationsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in othReferenceEntityObligationsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                        XsdTypeString ob = XsdTypeString();
                        IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        othReferenceEntityObligations = new XsdTypeString(item);
                    }
                }
            }
        }
 public Obligations(XmlNode xmlNode)
 {
     XmlNode categoryNode = xmlNode.SelectSingleNode("category");
     
     if (categoryNode != null)
     {
         if (categoryNode.Attributes["href"] != null || categoryNode.Attributes["id"] != null) 
         {
             if (categoryNode.Attributes["id"] != null) 
             {
                 categoryIDRef_ = categoryNode.Attributes["id"].Value;
                 ObligationCategoryEnum ob = new ObligationCategoryEnum(categoryNode);
                 IDManager.SetID(categoryIDRef_, ob);
             }
             else if (categoryNode.Attributes["href"] != null)
             {
                 categoryIDRef_ = categoryNode.Attributes["href"].Value;
             }
             else
             {
                 category_ = new ObligationCategoryEnum(categoryNode);
             }
         }
         else
         {
             category_ = new ObligationCategoryEnum(categoryNode);
         }
     }
     
 
     XmlNode notSubordinatedNode = xmlNode.SelectSingleNode("notSubordinated");
     
     if (notSubordinatedNode != null)
     {
         if (notSubordinatedNode.Attributes["href"] != null || notSubordinatedNode.Attributes["id"] != null) 
         {
             if (notSubordinatedNode.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSubordinatedNode);
                 IDManager.SetID(notSubordinatedIDRef_, ob);
             }
             else if (notSubordinatedNode.Attributes["href"] != null)
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["href"].Value;
             }
             else
             {
                 notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
             }
         }
         else
         {
             notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
         }
     }
     
 
     XmlNode specifiedCurrencyNode = xmlNode.SelectSingleNode("specifiedCurrency");
     
     if (specifiedCurrencyNode != null)
     {
         if (specifiedCurrencyNode.Attributes["href"] != null || specifiedCurrencyNode.Attributes["id"] != null) 
         {
             if (specifiedCurrencyNode.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["id"].Value;
                 SpecifiedCurrency ob = new SpecifiedCurrency(specifiedCurrencyNode);
                 IDManager.SetID(specifiedCurrencyIDRef_, ob);
             }
             else if (specifiedCurrencyNode.Attributes["href"] != null)
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
             }
         }
         else
         {
             specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
         }
     }
     
 
     XmlNode notSovereignLenderNode = xmlNode.SelectSingleNode("notSovereignLender");
     
     if (notSovereignLenderNode != null)
     {
         if (notSovereignLenderNode.Attributes["href"] != null || notSovereignLenderNode.Attributes["id"] != null) 
         {
             if (notSovereignLenderNode.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSovereignLenderNode);
                 IDManager.SetID(notSovereignLenderIDRef_, ob);
             }
             else if (notSovereignLenderNode.Attributes["href"] != null)
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["href"].Value;
             }
             else
             {
                 notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
             }
         }
         else
         {
             notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
         }
     }
     
 
     XmlNode notDomesticCurrencyNode = xmlNode.SelectSingleNode("notDomesticCurrency");
     
     if (notDomesticCurrencyNode != null)
     {
         if (notDomesticCurrencyNode.Attributes["href"] != null || notDomesticCurrencyNode.Attributes["id"] != null) 
         {
             if (notDomesticCurrencyNode.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["id"].Value;
                 NotDomesticCurrency ob = new NotDomesticCurrency(notDomesticCurrencyNode);
                 IDManager.SetID(notDomesticCurrencyIDRef_, ob);
             }
             else if (notDomesticCurrencyNode.Attributes["href"] != null)
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
             }
         }
         else
         {
             notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
         }
     }
     
 
     XmlNode notDomesticLawNode = xmlNode.SelectSingleNode("notDomesticLaw");
     
     if (notDomesticLawNode != null)
     {
         if (notDomesticLawNode.Attributes["href"] != null || notDomesticLawNode.Attributes["id"] != null) 
         {
             if (notDomesticLawNode.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticLawNode);
                 IDManager.SetID(notDomesticLawIDRef_, ob);
             }
             else if (notDomesticLawNode.Attributes["href"] != null)
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
             }
         }
         else
         {
             notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
         }
     }
     
 
     XmlNode listedNode = xmlNode.SelectSingleNode("listed");
     
     if (listedNode != null)
     {
         if (listedNode.Attributes["href"] != null || listedNode.Attributes["id"] != null) 
         {
             if (listedNode.Attributes["id"] != null) 
             {
                 listedIDRef_ = listedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(listedNode);
                 IDManager.SetID(listedIDRef_, ob);
             }
             else if (listedNode.Attributes["href"] != null)
             {
                 listedIDRef_ = listedNode.Attributes["href"].Value;
             }
             else
             {
                 listed_ = new XsdTypeBoolean(listedNode);
             }
         }
         else
         {
             listed_ = new XsdTypeBoolean(listedNode);
         }
     }
     
 
     XmlNode notDomesticIssuanceNode = xmlNode.SelectSingleNode("notDomesticIssuance");
     
     if (notDomesticIssuanceNode != null)
     {
         if (notDomesticIssuanceNode.Attributes["href"] != null || notDomesticIssuanceNode.Attributes["id"] != null) 
         {
             if (notDomesticIssuanceNode.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticIssuanceNode);
                 IDManager.SetID(notDomesticIssuanceIDRef_, ob);
             }
             else if (notDomesticIssuanceNode.Attributes["href"] != null)
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
             }
         }
         else
         {
             notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
         }
     }
     
 
     XmlNode fullFaithAndCreditObLiabilityNode = xmlNode.SelectSingleNode("fullFaithAndCreditObLiability");
     
     if (fullFaithAndCreditObLiabilityNode != null)
     {
         if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null || fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
         {
             if (fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef_, ob);
             }
             else if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null)
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
             }
         }
         else
         {
             fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
         }
     }
     
 
     XmlNode generalFundObligationLiabilityNode = xmlNode.SelectSingleNode("generalFundObligationLiability");
     
     if (generalFundObligationLiabilityNode != null)
     {
         if (generalFundObligationLiabilityNode.Attributes["href"] != null || generalFundObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (generalFundObligationLiabilityNode.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(generalFundObligationLiabilityNode);
                 IDManager.SetID(generalFundObligationLiabilityIDRef_, ob);
             }
             else if (generalFundObligationLiabilityNode.Attributes["href"] != null)
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
             }
         }
         else
         {
             generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
         }
     }
     
 
     XmlNode revenueObligationLiabilityNode = xmlNode.SelectSingleNode("revenueObligationLiability");
     
     if (revenueObligationLiabilityNode != null)
     {
         if (revenueObligationLiabilityNode.Attributes["href"] != null || revenueObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (revenueObligationLiabilityNode.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(revenueObligationLiabilityNode);
                 IDManager.SetID(revenueObligationLiabilityIDRef_, ob);
             }
             else if (revenueObligationLiabilityNode.Attributes["href"] != null)
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
             }
         }
         else
         {
             revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
         }
     }
     
 
     XmlNode notContingentNode = xmlNode.SelectSingleNode("notContingent");
     
     if (notContingentNode != null)
     {
         if (notContingentNode.Attributes["href"] != null || notContingentNode.Attributes["id"] != null) 
         {
             if (notContingentNode.Attributes["id"] != null) 
             {
                 notContingentIDRef_ = notContingentNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notContingentNode);
                 IDManager.SetID(notContingentIDRef_, ob);
             }
             else if (notContingentNode.Attributes["href"] != null)
             {
                 notContingentIDRef_ = notContingentNode.Attributes["href"].Value;
             }
             else
             {
                 notContingent_ = new XsdTypeBoolean(notContingentNode);
             }
         }
         else
         {
             notContingent_ = new XsdTypeBoolean(notContingentNode);
         }
     }
     
 
     XmlNode excludedNode = xmlNode.SelectSingleNode("excluded");
     
     if (excludedNode != null)
     {
         if (excludedNode.Attributes["href"] != null || excludedNode.Attributes["id"] != null) 
         {
             if (excludedNode.Attributes["id"] != null) 
             {
                 excludedIDRef_ = excludedNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(excludedNode);
                 IDManager.SetID(excludedIDRef_, ob);
             }
             else if (excludedNode.Attributes["href"] != null)
             {
                 excludedIDRef_ = excludedNode.Attributes["href"].Value;
             }
             else
             {
                 excluded_ = new XsdTypeString(excludedNode);
             }
         }
         else
         {
             excluded_ = new XsdTypeString(excludedNode);
         }
     }
     
 
     XmlNode othReferenceEntityObligationsNode = xmlNode.SelectSingleNode("othReferenceEntityObligations");
     
     if (othReferenceEntityObligationsNode != null)
     {
         if (othReferenceEntityObligationsNode.Attributes["href"] != null || othReferenceEntityObligationsNode.Attributes["id"] != null) 
         {
             if (othReferenceEntityObligationsNode.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(othReferenceEntityObligationsNode);
                 IDManager.SetID(othReferenceEntityObligationsIDRef_, ob);
             }
             else if (othReferenceEntityObligationsNode.Attributes["href"] != null)
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["href"].Value;
             }
             else
             {
                 othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
             }
         }
         else
         {
             othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
         }
     }
     
 
     XmlNode designatedPriorityNode = xmlNode.SelectSingleNode("designatedPriority");
     
     if (designatedPriorityNode != null)
     {
         if (designatedPriorityNode.Attributes["href"] != null || designatedPriorityNode.Attributes["id"] != null) 
         {
             if (designatedPriorityNode.Attributes["id"] != null) 
             {
                 designatedPriorityIDRef_ = designatedPriorityNode.Attributes["id"].Value;
                 Lien ob = new Lien(designatedPriorityNode);
                 IDManager.SetID(designatedPriorityIDRef_, ob);
             }
             else if (designatedPriorityNode.Attributes["href"] != null)
             {
                 designatedPriorityIDRef_ = designatedPriorityNode.Attributes["href"].Value;
             }
             else
             {
                 designatedPriority_ = new Lien(designatedPriorityNode);
             }
         }
         else
         {
             designatedPriority_ = new Lien(designatedPriorityNode);
         }
     }
     
 
     XmlNode cashSettlementOnlyNode = xmlNode.SelectSingleNode("cashSettlementOnly");
     
     if (cashSettlementOnlyNode != null)
     {
         if (cashSettlementOnlyNode.Attributes["href"] != null || cashSettlementOnlyNode.Attributes["id"] != null) 
         {
             if (cashSettlementOnlyNode.Attributes["id"] != null) 
             {
                 cashSettlementOnlyIDRef_ = cashSettlementOnlyNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(cashSettlementOnlyNode);
                 IDManager.SetID(cashSettlementOnlyIDRef_, ob);
             }
             else if (cashSettlementOnlyNode.Attributes["href"] != null)
             {
                 cashSettlementOnlyIDRef_ = cashSettlementOnlyNode.Attributes["href"].Value;
             }
             else
             {
                 cashSettlementOnly_ = new XsdTypeBoolean(cashSettlementOnlyNode);
             }
         }
         else
         {
             cashSettlementOnly_ = new XsdTypeBoolean(cashSettlementOnlyNode);
         }
     }
     
 
     XmlNode deliveryOfCommitmentsNode = xmlNode.SelectSingleNode("deliveryOfCommitments");
     
     if (deliveryOfCommitmentsNode != null)
     {
         if (deliveryOfCommitmentsNode.Attributes["href"] != null || deliveryOfCommitmentsNode.Attributes["id"] != null) 
         {
             if (deliveryOfCommitmentsNode.Attributes["id"] != null) 
             {
                 deliveryOfCommitmentsIDRef_ = deliveryOfCommitmentsNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(deliveryOfCommitmentsNode);
                 IDManager.SetID(deliveryOfCommitmentsIDRef_, ob);
             }
             else if (deliveryOfCommitmentsNode.Attributes["href"] != null)
             {
                 deliveryOfCommitmentsIDRef_ = deliveryOfCommitmentsNode.Attributes["href"].Value;
             }
             else
             {
                 deliveryOfCommitments_ = new XsdTypeBoolean(deliveryOfCommitmentsNode);
             }
         }
         else
         {
             deliveryOfCommitments_ = new XsdTypeBoolean(deliveryOfCommitmentsNode);
         }
     }
     
 
     XmlNode continuityNode = xmlNode.SelectSingleNode("continuity");
     
     if (continuityNode != null)
     {
         if (continuityNode.Attributes["href"] != null || continuityNode.Attributes["id"] != null) 
         {
             if (continuityNode.Attributes["id"] != null) 
             {
                 continuityIDRef_ = continuityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(continuityNode);
                 IDManager.SetID(continuityIDRef_, ob);
             }
             else if (continuityNode.Attributes["href"] != null)
             {
                 continuityIDRef_ = continuityNode.Attributes["href"].Value;
             }
             else
             {
                 continuity_ = new XsdTypeBoolean(continuityNode);
             }
         }
         else
         {
             continuity_ = new XsdTypeBoolean(continuityNode);
         }
     }
     
 
 }
 public DeliverableObligations(XmlNode xmlNode)
 {
     XmlNode accruedInterestNode = xmlNode.SelectSingleNode("accruedInterest");
     
     if (accruedInterestNode != null)
     {
         if (accruedInterestNode.Attributes["href"] != null || accruedInterestNode.Attributes["id"] != null) 
         {
             if (accruedInterestNode.Attributes["id"] != null) 
             {
                 accruedInterestIDRef_ = accruedInterestNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(accruedInterestNode);
                 IDManager.SetID(accruedInterestIDRef_, ob);
             }
             else if (accruedInterestNode.Attributes["href"] != null)
             {
                 accruedInterestIDRef_ = accruedInterestNode.Attributes["href"].Value;
             }
             else
             {
                 accruedInterest_ = new XsdTypeBoolean(accruedInterestNode);
             }
         }
         else
         {
             accruedInterest_ = new XsdTypeBoolean(accruedInterestNode);
         }
     }
     
 
     XmlNode categoryNode = xmlNode.SelectSingleNode("category");
     
     if (categoryNode != null)
     {
         if (categoryNode.Attributes["href"] != null || categoryNode.Attributes["id"] != null) 
         {
             if (categoryNode.Attributes["id"] != null) 
             {
                 categoryIDRef_ = categoryNode.Attributes["id"].Value;
                 ObligationCategoryEnum ob = new ObligationCategoryEnum(categoryNode);
                 IDManager.SetID(categoryIDRef_, ob);
             }
             else if (categoryNode.Attributes["href"] != null)
             {
                 categoryIDRef_ = categoryNode.Attributes["href"].Value;
             }
             else
             {
                 category_ = new ObligationCategoryEnum(categoryNode);
             }
         }
         else
         {
             category_ = new ObligationCategoryEnum(categoryNode);
         }
     }
     
 
     XmlNode notSubordinatedNode = xmlNode.SelectSingleNode("notSubordinated");
     
     if (notSubordinatedNode != null)
     {
         if (notSubordinatedNode.Attributes["href"] != null || notSubordinatedNode.Attributes["id"] != null) 
         {
             if (notSubordinatedNode.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSubordinatedNode);
                 IDManager.SetID(notSubordinatedIDRef_, ob);
             }
             else if (notSubordinatedNode.Attributes["href"] != null)
             {
                 notSubordinatedIDRef_ = notSubordinatedNode.Attributes["href"].Value;
             }
             else
             {
                 notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
             }
         }
         else
         {
             notSubordinated_ = new XsdTypeBoolean(notSubordinatedNode);
         }
     }
     
 
     XmlNode specifiedCurrencyNode = xmlNode.SelectSingleNode("specifiedCurrency");
     
     if (specifiedCurrencyNode != null)
     {
         if (specifiedCurrencyNode.Attributes["href"] != null || specifiedCurrencyNode.Attributes["id"] != null) 
         {
             if (specifiedCurrencyNode.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["id"].Value;
                 SpecifiedCurrency ob = new SpecifiedCurrency(specifiedCurrencyNode);
                 IDManager.SetID(specifiedCurrencyIDRef_, ob);
             }
             else if (specifiedCurrencyNode.Attributes["href"] != null)
             {
                 specifiedCurrencyIDRef_ = specifiedCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
             }
         }
         else
         {
             specifiedCurrency_ = new SpecifiedCurrency(specifiedCurrencyNode);
         }
     }
     
 
     XmlNode notSovereignLenderNode = xmlNode.SelectSingleNode("notSovereignLender");
     
     if (notSovereignLenderNode != null)
     {
         if (notSovereignLenderNode.Attributes["href"] != null || notSovereignLenderNode.Attributes["id"] != null) 
         {
             if (notSovereignLenderNode.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notSovereignLenderNode);
                 IDManager.SetID(notSovereignLenderIDRef_, ob);
             }
             else if (notSovereignLenderNode.Attributes["href"] != null)
             {
                 notSovereignLenderIDRef_ = notSovereignLenderNode.Attributes["href"].Value;
             }
             else
             {
                 notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
             }
         }
         else
         {
             notSovereignLender_ = new XsdTypeBoolean(notSovereignLenderNode);
         }
     }
     
 
     XmlNode notDomesticCurrencyNode = xmlNode.SelectSingleNode("notDomesticCurrency");
     
     if (notDomesticCurrencyNode != null)
     {
         if (notDomesticCurrencyNode.Attributes["href"] != null || notDomesticCurrencyNode.Attributes["id"] != null) 
         {
             if (notDomesticCurrencyNode.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["id"].Value;
                 NotDomesticCurrency ob = new NotDomesticCurrency(notDomesticCurrencyNode);
                 IDManager.SetID(notDomesticCurrencyIDRef_, ob);
             }
             else if (notDomesticCurrencyNode.Attributes["href"] != null)
             {
                 notDomesticCurrencyIDRef_ = notDomesticCurrencyNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
             }
         }
         else
         {
             notDomesticCurrency_ = new NotDomesticCurrency(notDomesticCurrencyNode);
         }
     }
     
 
     XmlNode notDomesticLawNode = xmlNode.SelectSingleNode("notDomesticLaw");
     
     if (notDomesticLawNode != null)
     {
         if (notDomesticLawNode.Attributes["href"] != null || notDomesticLawNode.Attributes["id"] != null) 
         {
             if (notDomesticLawNode.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticLawNode);
                 IDManager.SetID(notDomesticLawIDRef_, ob);
             }
             else if (notDomesticLawNode.Attributes["href"] != null)
             {
                 notDomesticLawIDRef_ = notDomesticLawNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
             }
         }
         else
         {
             notDomesticLaw_ = new XsdTypeBoolean(notDomesticLawNode);
         }
     }
     
 
     XmlNode listedNode = xmlNode.SelectSingleNode("listed");
     
     if (listedNode != null)
     {
         if (listedNode.Attributes["href"] != null || listedNode.Attributes["id"] != null) 
         {
             if (listedNode.Attributes["id"] != null) 
             {
                 listedIDRef_ = listedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(listedNode);
                 IDManager.SetID(listedIDRef_, ob);
             }
             else if (listedNode.Attributes["href"] != null)
             {
                 listedIDRef_ = listedNode.Attributes["href"].Value;
             }
             else
             {
                 listed_ = new XsdTypeBoolean(listedNode);
             }
         }
         else
         {
             listed_ = new XsdTypeBoolean(listedNode);
         }
     }
     
 
     XmlNode notContingentNode = xmlNode.SelectSingleNode("notContingent");
     
     if (notContingentNode != null)
     {
         if (notContingentNode.Attributes["href"] != null || notContingentNode.Attributes["id"] != null) 
         {
             if (notContingentNode.Attributes["id"] != null) 
             {
                 notContingentIDRef_ = notContingentNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notContingentNode);
                 IDManager.SetID(notContingentIDRef_, ob);
             }
             else if (notContingentNode.Attributes["href"] != null)
             {
                 notContingentIDRef_ = notContingentNode.Attributes["href"].Value;
             }
             else
             {
                 notContingent_ = new XsdTypeBoolean(notContingentNode);
             }
         }
         else
         {
             notContingent_ = new XsdTypeBoolean(notContingentNode);
         }
     }
     
 
     XmlNode notDomesticIssuanceNode = xmlNode.SelectSingleNode("notDomesticIssuance");
     
     if (notDomesticIssuanceNode != null)
     {
         if (notDomesticIssuanceNode.Attributes["href"] != null || notDomesticIssuanceNode.Attributes["id"] != null) 
         {
             if (notDomesticIssuanceNode.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notDomesticIssuanceNode);
                 IDManager.SetID(notDomesticIssuanceIDRef_, ob);
             }
             else if (notDomesticIssuanceNode.Attributes["href"] != null)
             {
                 notDomesticIssuanceIDRef_ = notDomesticIssuanceNode.Attributes["href"].Value;
             }
             else
             {
                 notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
             }
         }
         else
         {
             notDomesticIssuance_ = new XsdTypeBoolean(notDomesticIssuanceNode);
         }
     }
     
 
     XmlNode assignableLoanNode = xmlNode.SelectSingleNode("assignableLoan");
     
     if (assignableLoanNode != null)
     {
         if (assignableLoanNode.Attributes["href"] != null || assignableLoanNode.Attributes["id"] != null) 
         {
             if (assignableLoanNode.Attributes["id"] != null) 
             {
                 assignableLoanIDRef_ = assignableLoanNode.Attributes["id"].Value;
                 PCDeliverableObligationCharac ob = new PCDeliverableObligationCharac(assignableLoanNode);
                 IDManager.SetID(assignableLoanIDRef_, ob);
             }
             else if (assignableLoanNode.Attributes["href"] != null)
             {
                 assignableLoanIDRef_ = assignableLoanNode.Attributes["href"].Value;
             }
             else
             {
                 assignableLoan_ = new PCDeliverableObligationCharac(assignableLoanNode);
             }
         }
         else
         {
             assignableLoan_ = new PCDeliverableObligationCharac(assignableLoanNode);
         }
     }
     
 
     XmlNode consentRequiredLoanNode = xmlNode.SelectSingleNode("consentRequiredLoan");
     
     if (consentRequiredLoanNode != null)
     {
         if (consentRequiredLoanNode.Attributes["href"] != null || consentRequiredLoanNode.Attributes["id"] != null) 
         {
             if (consentRequiredLoanNode.Attributes["id"] != null) 
             {
                 consentRequiredLoanIDRef_ = consentRequiredLoanNode.Attributes["id"].Value;
                 PCDeliverableObligationCharac ob = new PCDeliverableObligationCharac(consentRequiredLoanNode);
                 IDManager.SetID(consentRequiredLoanIDRef_, ob);
             }
             else if (consentRequiredLoanNode.Attributes["href"] != null)
             {
                 consentRequiredLoanIDRef_ = consentRequiredLoanNode.Attributes["href"].Value;
             }
             else
             {
                 consentRequiredLoan_ = new PCDeliverableObligationCharac(consentRequiredLoanNode);
             }
         }
         else
         {
             consentRequiredLoan_ = new PCDeliverableObligationCharac(consentRequiredLoanNode);
         }
     }
     
 
     XmlNode directLoanParticipationNode = xmlNode.SelectSingleNode("directLoanParticipation");
     
     if (directLoanParticipationNode != null)
     {
         if (directLoanParticipationNode.Attributes["href"] != null || directLoanParticipationNode.Attributes["id"] != null) 
         {
             if (directLoanParticipationNode.Attributes["id"] != null) 
             {
                 directLoanParticipationIDRef_ = directLoanParticipationNode.Attributes["id"].Value;
                 LoanParticipation ob = new LoanParticipation(directLoanParticipationNode);
                 IDManager.SetID(directLoanParticipationIDRef_, ob);
             }
             else if (directLoanParticipationNode.Attributes["href"] != null)
             {
                 directLoanParticipationIDRef_ = directLoanParticipationNode.Attributes["href"].Value;
             }
             else
             {
                 directLoanParticipation_ = new LoanParticipation(directLoanParticipationNode);
             }
         }
         else
         {
             directLoanParticipation_ = new LoanParticipation(directLoanParticipationNode);
         }
     }
     
 
     XmlNode transferableNode = xmlNode.SelectSingleNode("transferable");
     
     if (transferableNode != null)
     {
         if (transferableNode.Attributes["href"] != null || transferableNode.Attributes["id"] != null) 
         {
             if (transferableNode.Attributes["id"] != null) 
             {
                 transferableIDRef_ = transferableNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(transferableNode);
                 IDManager.SetID(transferableIDRef_, ob);
             }
             else if (transferableNode.Attributes["href"] != null)
             {
                 transferableIDRef_ = transferableNode.Attributes["href"].Value;
             }
             else
             {
                 transferable_ = new XsdTypeBoolean(transferableNode);
             }
         }
         else
         {
             transferable_ = new XsdTypeBoolean(transferableNode);
         }
     }
     
 
     XmlNode maximumMaturityNode = xmlNode.SelectSingleNode("maximumMaturity");
     
     if (maximumMaturityNode != null)
     {
         if (maximumMaturityNode.Attributes["href"] != null || maximumMaturityNode.Attributes["id"] != null) 
         {
             if (maximumMaturityNode.Attributes["id"] != null) 
             {
                 maximumMaturityIDRef_ = maximumMaturityNode.Attributes["id"].Value;
                 Period ob = new Period(maximumMaturityNode);
                 IDManager.SetID(maximumMaturityIDRef_, ob);
             }
             else if (maximumMaturityNode.Attributes["href"] != null)
             {
                 maximumMaturityIDRef_ = maximumMaturityNode.Attributes["href"].Value;
             }
             else
             {
                 maximumMaturity_ = new Period(maximumMaturityNode);
             }
         }
         else
         {
             maximumMaturity_ = new Period(maximumMaturityNode);
         }
     }
     
 
     XmlNode acceleratedOrMaturedNode = xmlNode.SelectSingleNode("acceleratedOrMatured");
     
     if (acceleratedOrMaturedNode != null)
     {
         if (acceleratedOrMaturedNode.Attributes["href"] != null || acceleratedOrMaturedNode.Attributes["id"] != null) 
         {
             if (acceleratedOrMaturedNode.Attributes["id"] != null) 
             {
                 acceleratedOrMaturedIDRef_ = acceleratedOrMaturedNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(acceleratedOrMaturedNode);
                 IDManager.SetID(acceleratedOrMaturedIDRef_, ob);
             }
             else if (acceleratedOrMaturedNode.Attributes["href"] != null)
             {
                 acceleratedOrMaturedIDRef_ = acceleratedOrMaturedNode.Attributes["href"].Value;
             }
             else
             {
                 acceleratedOrMatured_ = new XsdTypeBoolean(acceleratedOrMaturedNode);
             }
         }
         else
         {
             acceleratedOrMatured_ = new XsdTypeBoolean(acceleratedOrMaturedNode);
         }
     }
     
 
     XmlNode notBearerNode = xmlNode.SelectSingleNode("notBearer");
     
     if (notBearerNode != null)
     {
         if (notBearerNode.Attributes["href"] != null || notBearerNode.Attributes["id"] != null) 
         {
             if (notBearerNode.Attributes["id"] != null) 
             {
                 notBearerIDRef_ = notBearerNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(notBearerNode);
                 IDManager.SetID(notBearerIDRef_, ob);
             }
             else if (notBearerNode.Attributes["href"] != null)
             {
                 notBearerIDRef_ = notBearerNode.Attributes["href"].Value;
             }
             else
             {
                 notBearer_ = new XsdTypeBoolean(notBearerNode);
             }
         }
         else
         {
             notBearer_ = new XsdTypeBoolean(notBearerNode);
         }
     }
     
 
     XmlNode fullFaithAndCreditObLiabilityNode = xmlNode.SelectSingleNode("fullFaithAndCreditObLiability");
     
     if (fullFaithAndCreditObLiabilityNode != null)
     {
         if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null || fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
         {
             if (fullFaithAndCreditObLiabilityNode.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef_, ob);
             }
             else if (fullFaithAndCreditObLiabilityNode.Attributes["href"] != null)
             {
                 fullFaithAndCreditObLiabilityIDRef_ = fullFaithAndCreditObLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
             }
         }
         else
         {
             fullFaithAndCreditObLiability_ = new XsdTypeBoolean(fullFaithAndCreditObLiabilityNode);
         }
     }
     
 
     XmlNode generalFundObligationLiabilityNode = xmlNode.SelectSingleNode("generalFundObligationLiability");
     
     if (generalFundObligationLiabilityNode != null)
     {
         if (generalFundObligationLiabilityNode.Attributes["href"] != null || generalFundObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (generalFundObligationLiabilityNode.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(generalFundObligationLiabilityNode);
                 IDManager.SetID(generalFundObligationLiabilityIDRef_, ob);
             }
             else if (generalFundObligationLiabilityNode.Attributes["href"] != null)
             {
                 generalFundObligationLiabilityIDRef_ = generalFundObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
             }
         }
         else
         {
             generalFundObligationLiability_ = new XsdTypeBoolean(generalFundObligationLiabilityNode);
         }
     }
     
 
     XmlNode revenueObligationLiabilityNode = xmlNode.SelectSingleNode("revenueObligationLiability");
     
     if (revenueObligationLiabilityNode != null)
     {
         if (revenueObligationLiabilityNode.Attributes["href"] != null || revenueObligationLiabilityNode.Attributes["id"] != null) 
         {
             if (revenueObligationLiabilityNode.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(revenueObligationLiabilityNode);
                 IDManager.SetID(revenueObligationLiabilityIDRef_, ob);
             }
             else if (revenueObligationLiabilityNode.Attributes["href"] != null)
             {
                 revenueObligationLiabilityIDRef_ = revenueObligationLiabilityNode.Attributes["href"].Value;
             }
             else
             {
                 revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
             }
         }
         else
         {
             revenueObligationLiability_ = new XsdTypeBoolean(revenueObligationLiabilityNode);
         }
     }
     
 
     XmlNode indirectLoanParticipationNode = xmlNode.SelectSingleNode("indirectLoanParticipation");
     
     if (indirectLoanParticipationNode != null)
     {
         if (indirectLoanParticipationNode.Attributes["href"] != null || indirectLoanParticipationNode.Attributes["id"] != null) 
         {
             if (indirectLoanParticipationNode.Attributes["id"] != null) 
             {
                 indirectLoanParticipationIDRef_ = indirectLoanParticipationNode.Attributes["id"].Value;
                 LoanParticipation ob = new LoanParticipation(indirectLoanParticipationNode);
                 IDManager.SetID(indirectLoanParticipationIDRef_, ob);
             }
             else if (indirectLoanParticipationNode.Attributes["href"] != null)
             {
                 indirectLoanParticipationIDRef_ = indirectLoanParticipationNode.Attributes["href"].Value;
             }
             else
             {
                 indirectLoanParticipation_ = new LoanParticipation(indirectLoanParticipationNode);
             }
         }
         else
         {
             indirectLoanParticipation_ = new LoanParticipation(indirectLoanParticipationNode);
         }
     }
     
 
     XmlNode excludedNode = xmlNode.SelectSingleNode("excluded");
     
     if (excludedNode != null)
     {
         if (excludedNode.Attributes["href"] != null || excludedNode.Attributes["id"] != null) 
         {
             if (excludedNode.Attributes["id"] != null) 
             {
                 excludedIDRef_ = excludedNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(excludedNode);
                 IDManager.SetID(excludedIDRef_, ob);
             }
             else if (excludedNode.Attributes["href"] != null)
             {
                 excludedIDRef_ = excludedNode.Attributes["href"].Value;
             }
             else
             {
                 excluded_ = new XsdTypeString(excludedNode);
             }
         }
         else
         {
             excluded_ = new XsdTypeString(excludedNode);
         }
     }
     
 
     XmlNode othReferenceEntityObligationsNode = xmlNode.SelectSingleNode("othReferenceEntityObligations");
     
     if (othReferenceEntityObligationsNode != null)
     {
         if (othReferenceEntityObligationsNode.Attributes["href"] != null || othReferenceEntityObligationsNode.Attributes["id"] != null) 
         {
             if (othReferenceEntityObligationsNode.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["id"].Value;
                 XsdTypeString ob = new XsdTypeString(othReferenceEntityObligationsNode);
                 IDManager.SetID(othReferenceEntityObligationsIDRef_, ob);
             }
             else if (othReferenceEntityObligationsNode.Attributes["href"] != null)
             {
                 othReferenceEntityObligationsIDRef_ = othReferenceEntityObligationsNode.Attributes["href"].Value;
             }
             else
             {
                 othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
             }
         }
         else
         {
             othReferenceEntityObligations_ = new XsdTypeString(othReferenceEntityObligationsNode);
         }
     }
     
 
 }
 public DeliverableObligations(XmlNode xmlNode)
 {
     XmlNodeList accruedInterestNodeList = xmlNode.SelectNodes("accruedInterest");
     if (accruedInterestNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in accruedInterestNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 accruedInterestIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(accruedInterestIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 accruedInterestIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 accruedInterest = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");
     if (categoryNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in categoryNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 categoryIDRef = item.Attributes["id"].Name;
                 ObligationCategoryEnum ob = ObligationCategoryEnum();
                 IDManager.SetID(categoryIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 categoryIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 category = new ObligationCategoryEnum(item);
             }
         }
     }
     
 
     XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");
     if (notSubordinatedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSubordinatedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSubordinatedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSubordinatedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSubordinated = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");
     if (specifiedCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in specifiedCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef = item.Attributes["id"].Name;
                 SpecifiedCurrency ob = SpecifiedCurrency();
                 IDManager.SetID(specifiedCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 specifiedCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 specifiedCurrency = new SpecifiedCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");
     if (notSovereignLenderNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSovereignLenderNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSovereignLenderIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSovereignLenderIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSovereignLender = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");
     if (notDomesticCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                 NotDomesticCurrency ob = NotDomesticCurrency();
                 IDManager.SetID(notDomesticCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticCurrency = new NotDomesticCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");
     if (notDomesticLawNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticLawNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticLawIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticLawIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticLaw = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");
     if (listedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in listedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 listedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(listedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 listedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 listed = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");
     if (notContingentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notContingentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notContingentIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notContingentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notContingentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notContingent = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");
     if (notDomesticIssuanceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticIssuanceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticIssuanceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticIssuanceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticIssuance = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList assignableLoanNodeList = xmlNode.SelectNodes("assignableLoan");
     if (assignableLoanNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in assignableLoanNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 assignableLoanIDRef = item.Attributes["id"].Name;
                 PCDeliverableObligationCharac ob = PCDeliverableObligationCharac();
                 IDManager.SetID(assignableLoanIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 assignableLoanIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 assignableLoan = new PCDeliverableObligationCharac(item);
             }
         }
     }
     
 
     XmlNodeList consentRequiredLoanNodeList = xmlNode.SelectNodes("consentRequiredLoan");
     if (consentRequiredLoanNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in consentRequiredLoanNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 consentRequiredLoanIDRef = item.Attributes["id"].Name;
                 PCDeliverableObligationCharac ob = PCDeliverableObligationCharac();
                 IDManager.SetID(consentRequiredLoanIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 consentRequiredLoanIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 consentRequiredLoan = new PCDeliverableObligationCharac(item);
             }
         }
     }
     
 
     XmlNodeList directLoanParticipationNodeList = xmlNode.SelectNodes("directLoanParticipation");
     if (directLoanParticipationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in directLoanParticipationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 directLoanParticipationIDRef = item.Attributes["id"].Name;
                 LoanParticipation ob = LoanParticipation();
                 IDManager.SetID(directLoanParticipationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 directLoanParticipationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 directLoanParticipation = new LoanParticipation(item);
             }
         }
     }
     
 
     XmlNodeList transferableNodeList = xmlNode.SelectNodes("transferable");
     if (transferableNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in transferableNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 transferableIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(transferableIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 transferableIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 transferable = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList maximumMaturityNodeList = xmlNode.SelectNodes("maximumMaturity");
     if (maximumMaturityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in maximumMaturityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 maximumMaturityIDRef = item.Attributes["id"].Name;
                 Period ob = Period();
                 IDManager.SetID(maximumMaturityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 maximumMaturityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 maximumMaturity = new Period(item);
             }
         }
     }
     
 
     XmlNodeList acceleratedOrMaturedNodeList = xmlNode.SelectNodes("acceleratedOrMatured");
     if (acceleratedOrMaturedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in acceleratedOrMaturedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 acceleratedOrMaturedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(acceleratedOrMaturedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 acceleratedOrMaturedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 acceleratedOrMatured = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notBearerNodeList = xmlNode.SelectNodes("notBearer");
     if (notBearerNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notBearerNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notBearerIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notBearerIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notBearerIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notBearer = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");
     if (fullFaithAndCreditObLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fullFaithAndCreditObLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fullFaithAndCreditObLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");
     if (generalFundObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in generalFundObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(generalFundObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 generalFundObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");
     if (revenueObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in revenueObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(revenueObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 revenueObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 revenueObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList indirectLoanParticipationNodeList = xmlNode.SelectNodes("indirectLoanParticipation");
     if (indirectLoanParticipationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in indirectLoanParticipationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 indirectLoanParticipationIDRef = item.Attributes["id"].Name;
                 LoanParticipation ob = LoanParticipation();
                 IDManager.SetID(indirectLoanParticipationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 indirectLoanParticipationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 indirectLoanParticipation = new LoanParticipation(item);
             }
         }
     }
     
 
     XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");
     if (excludedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in excludedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 excludedIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(excludedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 excludedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 excluded = new XsdTypeString(item);
             }
         }
     }
     
 
     XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");
     if (othReferenceEntityObligationsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in othReferenceEntityObligationsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 othReferenceEntityObligations = new XsdTypeString(item);
             }
         }
     }
     
 
 }
 public Obligations(XmlNode xmlNode)
 {
     XmlNodeList categoryNodeList = xmlNode.SelectNodes("category");
     if (categoryNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in categoryNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 categoryIDRef = item.Attributes["id"].Name;
                 ObligationCategoryEnum ob = ObligationCategoryEnum();
                 IDManager.SetID(categoryIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 categoryIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 category = new ObligationCategoryEnum(item);
             }
         }
     }
     
 
     XmlNodeList notSubordinatedNodeList = xmlNode.SelectNodes("notSubordinated");
     if (notSubordinatedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSubordinatedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSubordinatedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSubordinatedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSubordinatedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSubordinated = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList specifiedCurrencyNodeList = xmlNode.SelectNodes("specifiedCurrency");
     if (specifiedCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in specifiedCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 specifiedCurrencyIDRef = item.Attributes["id"].Name;
                 SpecifiedCurrency ob = SpecifiedCurrency();
                 IDManager.SetID(specifiedCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 specifiedCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 specifiedCurrency = new SpecifiedCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notSovereignLenderNodeList = xmlNode.SelectNodes("notSovereignLender");
     if (notSovereignLenderNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notSovereignLenderNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notSovereignLenderIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notSovereignLenderIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notSovereignLenderIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notSovereignLender = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticCurrencyNodeList = xmlNode.SelectNodes("notDomesticCurrency");
     if (notDomesticCurrencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticCurrencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticCurrencyIDRef = item.Attributes["id"].Name;
                 NotDomesticCurrency ob = NotDomesticCurrency();
                 IDManager.SetID(notDomesticCurrencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticCurrencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticCurrency = new NotDomesticCurrency(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticLawNodeList = xmlNode.SelectNodes("notDomesticLaw");
     if (notDomesticLawNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticLawNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticLawIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticLawIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticLawIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticLaw = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList listedNodeList = xmlNode.SelectNodes("listed");
     if (listedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in listedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 listedIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(listedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 listedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 listed = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notDomesticIssuanceNodeList = xmlNode.SelectNodes("notDomesticIssuance");
     if (notDomesticIssuanceNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notDomesticIssuanceNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notDomesticIssuanceIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notDomesticIssuanceIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notDomesticIssuanceIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notDomesticIssuance = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList fullFaithAndCreditObLiabilityNodeList = xmlNode.SelectNodes("fullFaithAndCreditObLiability");
     if (fullFaithAndCreditObLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fullFaithAndCreditObLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(fullFaithAndCreditObLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fullFaithAndCreditObLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fullFaithAndCreditObLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList generalFundObligationLiabilityNodeList = xmlNode.SelectNodes("generalFundObligationLiability");
     if (generalFundObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in generalFundObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(generalFundObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 generalFundObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 generalFundObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList revenueObligationLiabilityNodeList = xmlNode.SelectNodes("revenueObligationLiability");
     if (revenueObligationLiabilityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in revenueObligationLiabilityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 revenueObligationLiabilityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(revenueObligationLiabilityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 revenueObligationLiabilityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 revenueObligationLiability = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList notContingentNodeList = xmlNode.SelectNodes("notContingent");
     if (notContingentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in notContingentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 notContingentIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(notContingentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 notContingentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 notContingent = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList excludedNodeList = xmlNode.SelectNodes("excluded");
     if (excludedNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in excludedNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 excludedIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(excludedIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 excludedIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 excluded = new XsdTypeString(item);
             }
         }
     }
     
 
     XmlNodeList othReferenceEntityObligationsNodeList = xmlNode.SelectNodes("othReferenceEntityObligations");
     if (othReferenceEntityObligationsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in othReferenceEntityObligationsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["id"].Name;
                 XsdTypeString ob = XsdTypeString();
                 IDManager.SetID(othReferenceEntityObligationsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 othReferenceEntityObligationsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 othReferenceEntityObligations = new XsdTypeString(item);
             }
         }
     }
     
 
     XmlNodeList designatedPriorityNodeList = xmlNode.SelectNodes("designatedPriority");
     if (designatedPriorityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in designatedPriorityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 designatedPriorityIDRef = item.Attributes["id"].Name;
                 Lien ob = Lien();
                 IDManager.SetID(designatedPriorityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 designatedPriorityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 designatedPriority = new Lien(item);
             }
         }
     }
     
 
     XmlNodeList cashSettlementOnlyNodeList = xmlNode.SelectNodes("cashSettlementOnly");
     if (cashSettlementOnlyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in cashSettlementOnlyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 cashSettlementOnlyIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(cashSettlementOnlyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 cashSettlementOnlyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 cashSettlementOnly = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList deliveryOfCommitmentsNodeList = xmlNode.SelectNodes("deliveryOfCommitments");
     if (deliveryOfCommitmentsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in deliveryOfCommitmentsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 deliveryOfCommitmentsIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(deliveryOfCommitmentsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 deliveryOfCommitmentsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 deliveryOfCommitments = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList continuityNodeList = xmlNode.SelectNodes("continuity");
     if (continuityNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in continuityNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 continuityIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(continuityIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 continuityIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 continuity = new XsdTypeBoolean(item);
             }
         }
     }
     
 
 }