public DividendSwapTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode dividendLegNode = xmlNode.SelectSingleNode("dividendLeg");
     
     if (dividendLegNode != null)
     {
         if (dividendLegNode.Attributes["href"] != null || dividendLegNode.Attributes["id"] != null) 
         {
             if (dividendLegNode.Attributes["id"] != null) 
             {
                 dividendLegIDRef_ = dividendLegNode.Attributes["id"].Value;
                 DividendLeg ob = new DividendLeg(dividendLegNode);
                 IDManager.SetID(dividendLegIDRef_, ob);
             }
             else if (dividendLegNode.Attributes["href"] != null)
             {
                 dividendLegIDRef_ = dividendLegNode.Attributes["href"].Value;
             }
             else
             {
                 dividendLeg_ = new DividendLeg(dividendLegNode);
             }
         }
         else
         {
             dividendLeg_ = new DividendLeg(dividendLegNode);
         }
     }
     
 
     XmlNode fixedLegNode = xmlNode.SelectSingleNode("fixedLeg");
     
     if (fixedLegNode != null)
     {
         if (fixedLegNode.Attributes["href"] != null || fixedLegNode.Attributes["id"] != null) 
         {
             if (fixedLegNode.Attributes["id"] != null) 
             {
                 fixedLegIDRef_ = fixedLegNode.Attributes["id"].Value;
                 FixedPaymentLeg ob = new FixedPaymentLeg(fixedLegNode);
                 IDManager.SetID(fixedLegIDRef_, ob);
             }
             else if (fixedLegNode.Attributes["href"] != null)
             {
                 fixedLegIDRef_ = fixedLegNode.Attributes["href"].Value;
             }
             else
             {
                 fixedLeg_ = new FixedPaymentLeg(fixedLegNode);
             }
         }
         else
         {
             fixedLeg_ = new FixedPaymentLeg(fixedLegNode);
         }
     }
     
 
     XmlNode multipleExchangeIndexAnnexFallbackNode = xmlNode.SelectSingleNode("multipleExchangeIndexAnnexFallback");
     
     if (multipleExchangeIndexAnnexFallbackNode != null)
     {
         if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null || multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null) 
         {
             if (multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null) 
             {
                 multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
                 IDManager.SetID(multipleExchangeIndexAnnexFallbackIDRef_, ob);
             }
             else if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null)
             {
                 multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["href"].Value;
             }
             else
             {
                 multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
             }
         }
         else
         {
             multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
         }
     }
     
 
     XmlNode componentSecurityIndexAnnexFallbackNode = xmlNode.SelectSingleNode("componentSecurityIndexAnnexFallback");
     
     if (componentSecurityIndexAnnexFallbackNode != null)
     {
         if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null || componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null) 
         {
             if (componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null) 
             {
                 componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
                 IDManager.SetID(componentSecurityIndexAnnexFallbackIDRef_, ob);
             }
             else if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null)
             {
                 componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["href"].Value;
             }
             else
             {
                 componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
             }
         }
         else
         {
             componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
         }
     }
     
 
     XmlNode localJurisdictionNode = xmlNode.SelectSingleNode("localJurisdiction");
     
     if (localJurisdictionNode != null)
     {
         if (localJurisdictionNode.Attributes["href"] != null || localJurisdictionNode.Attributes["id"] != null) 
         {
             if (localJurisdictionNode.Attributes["id"] != null) 
             {
                 localJurisdictionIDRef_ = localJurisdictionNode.Attributes["id"].Value;
                 CountryCode ob = new CountryCode(localJurisdictionNode);
                 IDManager.SetID(localJurisdictionIDRef_, ob);
             }
             else if (localJurisdictionNode.Attributes["href"] != null)
             {
                 localJurisdictionIDRef_ = localJurisdictionNode.Attributes["href"].Value;
             }
             else
             {
                 localJurisdiction_ = new CountryCode(localJurisdictionNode);
             }
         }
         else
         {
             localJurisdiction_ = new CountryCode(localJurisdictionNode);
         }
     }
     
 
     XmlNode relevantJurisdictionNode = xmlNode.SelectSingleNode("relevantJurisdiction");
     
     if (relevantJurisdictionNode != null)
     {
         if (relevantJurisdictionNode.Attributes["href"] != null || relevantJurisdictionNode.Attributes["id"] != null) 
         {
             if (relevantJurisdictionNode.Attributes["id"] != null) 
             {
                 relevantJurisdictionIDRef_ = relevantJurisdictionNode.Attributes["id"].Value;
                 CountryCode ob = new CountryCode(relevantJurisdictionNode);
                 IDManager.SetID(relevantJurisdictionIDRef_, ob);
             }
             else if (relevantJurisdictionNode.Attributes["href"] != null)
             {
                 relevantJurisdictionIDRef_ = relevantJurisdictionNode.Attributes["href"].Value;
             }
             else
             {
                 relevantJurisdiction_ = new CountryCode(relevantJurisdictionNode);
             }
         }
         else
         {
             relevantJurisdiction_ = new CountryCode(relevantJurisdictionNode);
         }
     }
     
 
 }
 public DividendSwapTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList dividendLegNodeList = xmlNode.SelectNodes("dividendLeg");
     if (dividendLegNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dividendLegNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dividendLegIDRef = item.Attributes["id"].Name;
                 DividendLeg ob = DividendLeg();
                 IDManager.SetID(dividendLegIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dividendLegIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dividendLeg = new DividendLeg(item);
             }
         }
     }
     
 
     XmlNodeList fixedLegNodeList = xmlNode.SelectNodes("fixedLeg");
     if (fixedLegNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in fixedLegNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 fixedLegIDRef = item.Attributes["id"].Name;
                 FixedPaymentLeg ob = FixedPaymentLeg();
                 IDManager.SetID(fixedLegIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 fixedLegIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 fixedLeg = new FixedPaymentLeg(item);
             }
         }
     }
     
 
     XmlNodeList multipleExchangeIndexAnnexFallbackNodeList = xmlNode.SelectNodes("multipleExchangeIndexAnnexFallback");
     if (multipleExchangeIndexAnnexFallbackNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in multipleExchangeIndexAnnexFallbackNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 multipleExchangeIndexAnnexFallbackIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(multipleExchangeIndexAnnexFallbackIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 multipleExchangeIndexAnnexFallbackIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 multipleExchangeIndexAnnexFallback = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList componentSecurityIndexAnnexFallbackNodeList = xmlNode.SelectNodes("componentSecurityIndexAnnexFallback");
     if (componentSecurityIndexAnnexFallbackNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in componentSecurityIndexAnnexFallbackNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 componentSecurityIndexAnnexFallbackIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(componentSecurityIndexAnnexFallbackIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 componentSecurityIndexAnnexFallbackIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 componentSecurityIndexAnnexFallback = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList localJurisdictionNodeList = xmlNode.SelectNodes("localJurisdiction");
     if (localJurisdictionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in localJurisdictionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 localJurisdictionIDRef = item.Attributes["id"].Name;
                 CountryCode ob = CountryCode();
                 IDManager.SetID(localJurisdictionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 localJurisdictionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 localJurisdiction = new CountryCode(item);
             }
         }
     }
     
 
     XmlNodeList relevantJurisdictionNodeList = xmlNode.SelectNodes("relevantJurisdiction");
     if (relevantJurisdictionNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in relevantJurisdictionNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 relevantJurisdictionIDRef = item.Attributes["id"].Name;
                 CountryCode ob = CountryCode();
                 IDManager.SetID(relevantJurisdictionIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 relevantJurisdictionIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 relevantJurisdiction = new CountryCode(item);
             }
         }
     }
     
 
 }
        public DividendSwapTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList dividendLegNodeList = xmlNode.SelectNodes("dividendLeg");

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

            foreach (XmlNode item in dividendLegNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        dividendLegIDRef = item.Attributes["id"].Name;
                        DividendLeg ob = DividendLeg();
                        IDManager.SetID(dividendLegIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        dividendLegIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        dividendLeg = new DividendLeg(item);
                    }
                }
            }


            XmlNodeList fixedLegNodeList = xmlNode.SelectNodes("fixedLeg");

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

            foreach (XmlNode item in fixedLegNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        fixedLegIDRef = item.Attributes["id"].Name;
                        FixedPaymentLeg ob = FixedPaymentLeg();
                        IDManager.SetID(fixedLegIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        fixedLegIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        fixedLeg = new FixedPaymentLeg(item);
                    }
                }
            }


            XmlNodeList multipleExchangeIndexAnnexFallbackNodeList = xmlNode.SelectNodes("multipleExchangeIndexAnnexFallback");

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

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


            XmlNodeList componentSecurityIndexAnnexFallbackNodeList = xmlNode.SelectNodes("componentSecurityIndexAnnexFallback");

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

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


            XmlNodeList localJurisdictionNodeList = xmlNode.SelectNodes("localJurisdiction");

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

            foreach (XmlNode item in localJurisdictionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        localJurisdictionIDRef = item.Attributes["id"].Name;
                        CountryCode ob = CountryCode();
                        IDManager.SetID(localJurisdictionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        localJurisdictionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        localJurisdiction = new CountryCode(item);
                    }
                }
            }


            XmlNodeList relevantJurisdictionNodeList = xmlNode.SelectNodes("relevantJurisdiction");

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

            foreach (XmlNode item in relevantJurisdictionNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        relevantJurisdictionIDRef = item.Attributes["id"].Name;
                        CountryCode ob = CountryCode();
                        IDManager.SetID(relevantJurisdictionIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        relevantJurisdictionIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        relevantJurisdiction = new CountryCode(item);
                    }
                }
            }
        }
        public DividendSwapTransactionSupplement(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode dividendLegNode = xmlNode.SelectSingleNode("dividendLeg");

            if (dividendLegNode != null)
            {
                if (dividendLegNode.Attributes["href"] != null || dividendLegNode.Attributes["id"] != null)
                {
                    if (dividendLegNode.Attributes["id"] != null)
                    {
                        dividendLegIDRef_ = dividendLegNode.Attributes["id"].Value;
                        DividendLeg ob = new DividendLeg(dividendLegNode);
                        IDManager.SetID(dividendLegIDRef_, ob);
                    }
                    else if (dividendLegNode.Attributes["href"] != null)
                    {
                        dividendLegIDRef_ = dividendLegNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dividendLeg_ = new DividendLeg(dividendLegNode);
                    }
                }
                else
                {
                    dividendLeg_ = new DividendLeg(dividendLegNode);
                }
            }


            XmlNode fixedLegNode = xmlNode.SelectSingleNode("fixedLeg");

            if (fixedLegNode != null)
            {
                if (fixedLegNode.Attributes["href"] != null || fixedLegNode.Attributes["id"] != null)
                {
                    if (fixedLegNode.Attributes["id"] != null)
                    {
                        fixedLegIDRef_ = fixedLegNode.Attributes["id"].Value;
                        FixedPaymentLeg ob = new FixedPaymentLeg(fixedLegNode);
                        IDManager.SetID(fixedLegIDRef_, ob);
                    }
                    else if (fixedLegNode.Attributes["href"] != null)
                    {
                        fixedLegIDRef_ = fixedLegNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixedLeg_ = new FixedPaymentLeg(fixedLegNode);
                    }
                }
                else
                {
                    fixedLeg_ = new FixedPaymentLeg(fixedLegNode);
                }
            }


            XmlNode multipleExchangeIndexAnnexFallbackNode = xmlNode.SelectSingleNode("multipleExchangeIndexAnnexFallback");

            if (multipleExchangeIndexAnnexFallbackNode != null)
            {
                if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null || multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null)
                {
                    if (multipleExchangeIndexAnnexFallbackNode.Attributes["id"] != null)
                    {
                        multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
                        IDManager.SetID(multipleExchangeIndexAnnexFallbackIDRef_, ob);
                    }
                    else if (multipleExchangeIndexAnnexFallbackNode.Attributes["href"] != null)
                    {
                        multipleExchangeIndexAnnexFallbackIDRef_ = multipleExchangeIndexAnnexFallbackNode.Attributes["href"].Value;
                    }
                    else
                    {
                        multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
                    }
                }
                else
                {
                    multipleExchangeIndexAnnexFallback_ = new XsdTypeBoolean(multipleExchangeIndexAnnexFallbackNode);
                }
            }


            XmlNode componentSecurityIndexAnnexFallbackNode = xmlNode.SelectSingleNode("componentSecurityIndexAnnexFallback");

            if (componentSecurityIndexAnnexFallbackNode != null)
            {
                if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null || componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null)
                {
                    if (componentSecurityIndexAnnexFallbackNode.Attributes["id"] != null)
                    {
                        componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
                        IDManager.SetID(componentSecurityIndexAnnexFallbackIDRef_, ob);
                    }
                    else if (componentSecurityIndexAnnexFallbackNode.Attributes["href"] != null)
                    {
                        componentSecurityIndexAnnexFallbackIDRef_ = componentSecurityIndexAnnexFallbackNode.Attributes["href"].Value;
                    }
                    else
                    {
                        componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
                    }
                }
                else
                {
                    componentSecurityIndexAnnexFallback_ = new XsdTypeBoolean(componentSecurityIndexAnnexFallbackNode);
                }
            }


            XmlNode localJurisdictionNode = xmlNode.SelectSingleNode("localJurisdiction");

            if (localJurisdictionNode != null)
            {
                if (localJurisdictionNode.Attributes["href"] != null || localJurisdictionNode.Attributes["id"] != null)
                {
                    if (localJurisdictionNode.Attributes["id"] != null)
                    {
                        localJurisdictionIDRef_ = localJurisdictionNode.Attributes["id"].Value;
                        CountryCode ob = new CountryCode(localJurisdictionNode);
                        IDManager.SetID(localJurisdictionIDRef_, ob);
                    }
                    else if (localJurisdictionNode.Attributes["href"] != null)
                    {
                        localJurisdictionIDRef_ = localJurisdictionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        localJurisdiction_ = new CountryCode(localJurisdictionNode);
                    }
                }
                else
                {
                    localJurisdiction_ = new CountryCode(localJurisdictionNode);
                }
            }


            XmlNode relevantJurisdictionNode = xmlNode.SelectSingleNode("relevantJurisdiction");

            if (relevantJurisdictionNode != null)
            {
                if (relevantJurisdictionNode.Attributes["href"] != null || relevantJurisdictionNode.Attributes["id"] != null)
                {
                    if (relevantJurisdictionNode.Attributes["id"] != null)
                    {
                        relevantJurisdictionIDRef_ = relevantJurisdictionNode.Attributes["id"].Value;
                        CountryCode ob = new CountryCode(relevantJurisdictionNode);
                        IDManager.SetID(relevantJurisdictionIDRef_, ob);
                    }
                    else if (relevantJurisdictionNode.Attributes["href"] != null)
                    {
                        relevantJurisdictionIDRef_ = relevantJurisdictionNode.Attributes["href"].Value;
                    }
                    else
                    {
                        relevantJurisdiction_ = new CountryCode(relevantJurisdictionNode);
                    }
                }
                else
                {
                    relevantJurisdiction_ = new CountryCode(relevantJurisdictionNode);
                }
            }
        }