public EquityOptionTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList exchangeLookAlikeNodeList = xmlNode.SelectNodes("exchangeLookAlike");
     if (exchangeLookAlikeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in exchangeLookAlikeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 exchangeLookAlikeIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(exchangeLookAlikeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 exchangeLookAlikeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 exchangeLookAlike = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList exchangeTradedContractNearestNodeList = xmlNode.SelectNodes("exchangeTradedContractNearest");
     if (exchangeTradedContractNearestNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in exchangeTradedContractNearestNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 exchangeTradedContractNearestIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(exchangeTradedContractNearestIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 exchangeTradedContractNearestIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 exchangeTradedContractNearest = new XsdTypeBoolean(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 methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");
     if (methodOfAdjustmentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in methodOfAdjustmentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                 MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                 IDManager.SetID(methodOfAdjustmentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 methodOfAdjustmentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 methodOfAdjustment = new MethodOfAdjustmentEnum(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 optionEntitlementNodeList = xmlNode.SelectNodes("optionEntitlement");
     if (optionEntitlementNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in optionEntitlementNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 optionEntitlementIDRef = item.Attributes["id"].Name;
                 PositiveDecimal ob = PositiveDecimal();
                 IDManager.SetID(optionEntitlementIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 optionEntitlementIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 optionEntitlement = new PositiveDecimal(item);
             }
         }
     }
     
 
     XmlNodeList multiplierNodeList = xmlNode.SelectNodes("multiplier");
     if (multiplierNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in multiplierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 multiplierIDRef = item.Attributes["id"].Name;
                 PositiveDecimal ob = PositiveDecimal();
                 IDManager.SetID(multiplierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 multiplierIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 multiplier = new PositiveDecimal(item);
             }
         }
     }
     
 
     XmlNodeList extraordinaryEventsNodeList = xmlNode.SelectNodes("extraordinaryEvents");
     if (extraordinaryEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in extraordinaryEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 extraordinaryEventsIDRef = item.Attributes["id"].Name;
                 ExtraordinaryEvents ob = ExtraordinaryEvents();
                 IDManager.SetID(extraordinaryEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 extraordinaryEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 extraordinaryEvents = new ExtraordinaryEvents(item);
             }
         }
     }
     
 
 }
 public DividendSwapOptionTransactionSupplement(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList equityPremiumNodeList = xmlNode.SelectNodes("equityPremium");
     if (equityPremiumNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityPremiumNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityPremiumIDRef = item.Attributes["id"].Name;
                 EquityPremium ob = EquityPremium();
                 IDManager.SetID(equityPremiumIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityPremiumIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityPremium = new EquityPremium(item);
             }
         }
     }
     
 
     XmlNodeList equityExerciseNodeList = xmlNode.SelectNodes("equityExercise");
     if (equityExerciseNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExerciseNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExerciseIDRef = item.Attributes["id"].Name;
                 EquityExerciseValuationSettlement ob = EquityExerciseValuationSettlement();
                 IDManager.SetID(equityExerciseIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExerciseIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExercise = new EquityExerciseValuationSettlement(item);
             }
         }
     }
     
 
     XmlNodeList exchangeLookAlikeNodeList = xmlNode.SelectNodes("exchangeLookAlike");
     if (exchangeLookAlikeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in exchangeLookAlikeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 exchangeLookAlikeIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(exchangeLookAlikeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 exchangeLookAlikeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 exchangeLookAlike = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");
     if (methodOfAdjustmentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in methodOfAdjustmentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                 MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                 IDManager.SetID(methodOfAdjustmentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 methodOfAdjustmentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 methodOfAdjustment = new MethodOfAdjustmentEnum(item);
             }
         }
     }
     
 
     XmlNodeList optionEntitlementNodeList = xmlNode.SelectNodes("optionEntitlement");
     if (optionEntitlementNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in optionEntitlementNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 optionEntitlementIDRef = item.Attributes["id"].Name;
                 PositiveDecimal ob = PositiveDecimal();
                 IDManager.SetID(optionEntitlementIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 optionEntitlementIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 optionEntitlement = new PositiveDecimal(item);
             }
         }
     }
     
 
     XmlNodeList multiplierNodeList = xmlNode.SelectNodes("multiplier");
     if (multiplierNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in multiplierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 multiplierIDRef = item.Attributes["id"].Name;
                 PositiveDecimal ob = PositiveDecimal();
                 IDManager.SetID(multiplierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 multiplierIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 multiplier = new PositiveDecimal(item);
             }
         }
     }
     
 
     XmlNodeList dividendSwapTransactionSupplementNodeList = xmlNode.SelectNodes("dividendSwapTransactionSupplement");
     if (dividendSwapTransactionSupplementNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dividendSwapTransactionSupplementNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dividendSwapTransactionSupplementIDRef = item.Attributes["id"].Name;
                 DividendSwapTransactionSupplement ob = DividendSwapTransactionSupplement();
                 IDManager.SetID(dividendSwapTransactionSupplementIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dividendSwapTransactionSupplementIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dividendSwapTransactionSupplement = new DividendSwapTransactionSupplement(item);
             }
         }
     }
     
 
 }
 public EquityDerivativeLongFormBase(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList dividendConditionsNodeList = xmlNode.SelectNodes("dividendConditions");
     if (dividendConditionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in dividendConditionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 dividendConditionsIDRef = item.Attributes["id"].Name;
                 DividendConditions ob = DividendConditions();
                 IDManager.SetID(dividendConditionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 dividendConditionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 dividendConditions = new DividendConditions(item);
             }
         }
     }
     
 
     XmlNodeList methodOfAdjustmentNodeList = xmlNode.SelectNodes("methodOfAdjustment");
     if (methodOfAdjustmentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in methodOfAdjustmentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 methodOfAdjustmentIDRef = item.Attributes["id"].Name;
                 MethodOfAdjustmentEnum ob = MethodOfAdjustmentEnum();
                 IDManager.SetID(methodOfAdjustmentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 methodOfAdjustmentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 methodOfAdjustment = new MethodOfAdjustmentEnum(item);
             }
         }
     }
     
 
     XmlNodeList extraordinaryEventsNodeList = xmlNode.SelectNodes("extraordinaryEvents");
     if (extraordinaryEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in extraordinaryEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 extraordinaryEventsIDRef = item.Attributes["id"].Name;
                 ExtraordinaryEvents ob = ExtraordinaryEvents();
                 IDManager.SetID(extraordinaryEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 extraordinaryEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 extraordinaryEvents = new ExtraordinaryEvents(item);
             }
         }
     }
     
 
 }