public ExtraordinaryEvents(XmlNode xmlNode)
 {
     XmlNodeList mergerEventsNodeList = xmlNode.SelectNodes("mergerEvents");
     if (mergerEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in mergerEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 mergerEventsIDRef = item.Attributes["id"].Name;
                 EquityCorporateEvents ob = EquityCorporateEvents();
                 IDManager.SetID(mergerEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 mergerEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 mergerEvents = new EquityCorporateEvents(item);
             }
         }
     }
     
 
     XmlNodeList tenderOfferNodeList = xmlNode.SelectNodes("tenderOffer");
     if (tenderOfferNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in tenderOfferNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 tenderOfferIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(tenderOfferIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 tenderOfferIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 tenderOffer = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList tenderOfferEventsNodeList = xmlNode.SelectNodes("tenderOfferEvents");
     if (tenderOfferEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in tenderOfferEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 tenderOfferEventsIDRef = item.Attributes["id"].Name;
                 EquityCorporateEvents ob = EquityCorporateEvents();
                 IDManager.SetID(tenderOfferEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 tenderOfferEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 tenderOfferEvents = new EquityCorporateEvents(item);
             }
         }
     }
     
 
     XmlNodeList compositionOfCombinedConsiderationNodeList = xmlNode.SelectNodes("compositionOfCombinedConsideration");
     if (compositionOfCombinedConsiderationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in compositionOfCombinedConsiderationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 compositionOfCombinedConsiderationIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(compositionOfCombinedConsiderationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 compositionOfCombinedConsiderationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 compositionOfCombinedConsideration = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList indexAdjustmentEventsNodeList = xmlNode.SelectNodes("indexAdjustmentEvents");
     if (indexAdjustmentEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in indexAdjustmentEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 indexAdjustmentEventsIDRef = item.Attributes["id"].Name;
                 IndexAdjustmentEvents ob = IndexAdjustmentEvents();
                 IDManager.SetID(indexAdjustmentEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 indexAdjustmentEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 indexAdjustmentEvents = new IndexAdjustmentEvents(item);
             }
         }
     }
     
 
     XmlNodeList additionalDisruptionEventsNodeList = xmlNode.SelectNodes("additionalDisruptionEvents");
     if (additionalDisruptionEventsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in additionalDisruptionEventsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 additionalDisruptionEventsIDRef = item.Attributes["id"].Name;
                 AdditionalDisruptionEvents ob = AdditionalDisruptionEvents();
                 IDManager.SetID(additionalDisruptionEventsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 additionalDisruptionEventsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 additionalDisruptionEvents = new AdditionalDisruptionEvents(item);
             }
         }
     }
     
 
     XmlNodeList failureToDeliverNodeList = xmlNode.SelectNodes("failureToDeliver");
     if (failureToDeliverNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in failureToDeliverNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 failureToDeliverIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(failureToDeliverIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 failureToDeliverIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 failureToDeliver = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList representationsNodeList = xmlNode.SelectNodes("representations");
     if (representationsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in representationsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 representationsIDRef = item.Attributes["id"].Name;
                 Representations ob = Representations();
                 IDManager.SetID(representationsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 representationsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 representations = new Representations(item);
             }
         }
     }
     
 
     XmlNodeList nationalisationOrInsolvencyNodeList = xmlNode.SelectNodes("nationalisationOrInsolvency");
     if (nationalisationOrInsolvencyNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in nationalisationOrInsolvencyNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 nationalisationOrInsolvencyIDRef = item.Attributes["id"].Name;
                 NationalisationOrInsolvencyOrDelistingEventEnum ob = NationalisationOrInsolvencyOrDelistingEventEnum();
                 IDManager.SetID(nationalisationOrInsolvencyIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 nationalisationOrInsolvencyIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 nationalisationOrInsolvency = new NationalisationOrInsolvencyOrDelistingEventEnum(item);
             }
         }
     }
     
 
     XmlNodeList delistingNodeList = xmlNode.SelectNodes("delisting");
     if (delistingNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in delistingNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 delistingIDRef = item.Attributes["id"].Name;
                 NationalisationOrInsolvencyOrDelistingEventEnum ob = NationalisationOrInsolvencyOrDelistingEventEnum();
                 IDManager.SetID(delistingIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 delistingIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 delisting = new NationalisationOrInsolvencyOrDelistingEventEnum(item);
             }
         }
     }
     
 
     XmlNodeList relatedExchangeIdNodeList = xmlNode.SelectNodes("relatedExchangeId");
     
     foreach (XmlNode item in relatedExchangeIdNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 relatedExchangeIdIDRef = item.Attributes["id"].Name;
                 List<ExchangeId> ob = new List<ExchangeId>();
                 ob.Add(new ExchangeId(item));
                 IDManager.SetID(relatedExchangeIdIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 relatedExchangeIdIDRef = item.Attributes["href"].Name;
             }
             else
             {
             relatedExchangeId.Add(new ExchangeId(item));
             }
         }
     }
     
 
     XmlNodeList optionsExchangeIdNodeList = xmlNode.SelectNodes("optionsExchangeId");
     
     foreach (XmlNode item in optionsExchangeIdNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 optionsExchangeIdIDRef = item.Attributes["id"].Name;
                 List<ExchangeId> ob = new List<ExchangeId>();
                 ob.Add(new ExchangeId(item));
                 IDManager.SetID(optionsExchangeIdIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 optionsExchangeIdIDRef = item.Attributes["href"].Name;
             }
             else
             {
             optionsExchangeId.Add(new ExchangeId(item));
             }
         }
     }
     
 
     XmlNodeList specifiedExchangeIdNodeList = xmlNode.SelectNodes("specifiedExchangeId");
     
     foreach (XmlNode item in specifiedExchangeIdNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 specifiedExchangeIdIDRef = item.Attributes["id"].Name;
                 List<ExchangeId> ob = new List<ExchangeId>();
                 ob.Add(new ExchangeId(item));
                 IDManager.SetID(specifiedExchangeIdIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 specifiedExchangeIdIDRef = item.Attributes["href"].Name;
             }
             else
             {
             specifiedExchangeId.Add(new ExchangeId(item));
             }
         }
     }
     
 
 }
 public ExtraordinaryEvents(XmlNode xmlNode)
 {
     XmlNode mergerEventsNode = xmlNode.SelectSingleNode("mergerEvents");
     
     if (mergerEventsNode != null)
     {
         if (mergerEventsNode.Attributes["href"] != null || mergerEventsNode.Attributes["id"] != null) 
         {
             if (mergerEventsNode.Attributes["id"] != null) 
             {
                 mergerEventsIDRef_ = mergerEventsNode.Attributes["id"].Value;
                 EquityCorporateEvents ob = new EquityCorporateEvents(mergerEventsNode);
                 IDManager.SetID(mergerEventsIDRef_, ob);
             }
             else if (mergerEventsNode.Attributes["href"] != null)
             {
                 mergerEventsIDRef_ = mergerEventsNode.Attributes["href"].Value;
             }
             else
             {
                 mergerEvents_ = new EquityCorporateEvents(mergerEventsNode);
             }
         }
         else
         {
             mergerEvents_ = new EquityCorporateEvents(mergerEventsNode);
         }
     }
     
 
     XmlNode tenderOfferNode = xmlNode.SelectSingleNode("tenderOffer");
     
     if (tenderOfferNode != null)
     {
         if (tenderOfferNode.Attributes["href"] != null || tenderOfferNode.Attributes["id"] != null) 
         {
             if (tenderOfferNode.Attributes["id"] != null) 
             {
                 tenderOfferIDRef_ = tenderOfferNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(tenderOfferNode);
                 IDManager.SetID(tenderOfferIDRef_, ob);
             }
             else if (tenderOfferNode.Attributes["href"] != null)
             {
                 tenderOfferIDRef_ = tenderOfferNode.Attributes["href"].Value;
             }
             else
             {
                 tenderOffer_ = new XsdTypeBoolean(tenderOfferNode);
             }
         }
         else
         {
             tenderOffer_ = new XsdTypeBoolean(tenderOfferNode);
         }
     }
     
 
     XmlNode tenderOfferEventsNode = xmlNode.SelectSingleNode("tenderOfferEvents");
     
     if (tenderOfferEventsNode != null)
     {
         if (tenderOfferEventsNode.Attributes["href"] != null || tenderOfferEventsNode.Attributes["id"] != null) 
         {
             if (tenderOfferEventsNode.Attributes["id"] != null) 
             {
                 tenderOfferEventsIDRef_ = tenderOfferEventsNode.Attributes["id"].Value;
                 EquityCorporateEvents ob = new EquityCorporateEvents(tenderOfferEventsNode);
                 IDManager.SetID(tenderOfferEventsIDRef_, ob);
             }
             else if (tenderOfferEventsNode.Attributes["href"] != null)
             {
                 tenderOfferEventsIDRef_ = tenderOfferEventsNode.Attributes["href"].Value;
             }
             else
             {
                 tenderOfferEvents_ = new EquityCorporateEvents(tenderOfferEventsNode);
             }
         }
         else
         {
             tenderOfferEvents_ = new EquityCorporateEvents(tenderOfferEventsNode);
         }
     }
     
 
     XmlNode compositionOfCombinedConsiderationNode = xmlNode.SelectSingleNode("compositionOfCombinedConsideration");
     
     if (compositionOfCombinedConsiderationNode != null)
     {
         if (compositionOfCombinedConsiderationNode.Attributes["href"] != null || compositionOfCombinedConsiderationNode.Attributes["id"] != null) 
         {
             if (compositionOfCombinedConsiderationNode.Attributes["id"] != null) 
             {
                 compositionOfCombinedConsiderationIDRef_ = compositionOfCombinedConsiderationNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(compositionOfCombinedConsiderationNode);
                 IDManager.SetID(compositionOfCombinedConsiderationIDRef_, ob);
             }
             else if (compositionOfCombinedConsiderationNode.Attributes["href"] != null)
             {
                 compositionOfCombinedConsiderationIDRef_ = compositionOfCombinedConsiderationNode.Attributes["href"].Value;
             }
             else
             {
                 compositionOfCombinedConsideration_ = new XsdTypeBoolean(compositionOfCombinedConsiderationNode);
             }
         }
         else
         {
             compositionOfCombinedConsideration_ = new XsdTypeBoolean(compositionOfCombinedConsiderationNode);
         }
     }
     
 
     XmlNode indexAdjustmentEventsNode = xmlNode.SelectSingleNode("indexAdjustmentEvents");
     
     if (indexAdjustmentEventsNode != null)
     {
         if (indexAdjustmentEventsNode.Attributes["href"] != null || indexAdjustmentEventsNode.Attributes["id"] != null) 
         {
             if (indexAdjustmentEventsNode.Attributes["id"] != null) 
             {
                 indexAdjustmentEventsIDRef_ = indexAdjustmentEventsNode.Attributes["id"].Value;
                 IndexAdjustmentEvents ob = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
                 IDManager.SetID(indexAdjustmentEventsIDRef_, ob);
             }
             else if (indexAdjustmentEventsNode.Attributes["href"] != null)
             {
                 indexAdjustmentEventsIDRef_ = indexAdjustmentEventsNode.Attributes["href"].Value;
             }
             else
             {
                 indexAdjustmentEvents_ = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
             }
         }
         else
         {
             indexAdjustmentEvents_ = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
         }
     }
     
 
     XmlNode additionalDisruptionEventsNode = xmlNode.SelectSingleNode("additionalDisruptionEvents");
     
     if (additionalDisruptionEventsNode != null)
     {
         if (additionalDisruptionEventsNode.Attributes["href"] != null || additionalDisruptionEventsNode.Attributes["id"] != null) 
         {
             if (additionalDisruptionEventsNode.Attributes["id"] != null) 
             {
                 additionalDisruptionEventsIDRef_ = additionalDisruptionEventsNode.Attributes["id"].Value;
                 AdditionalDisruptionEvents ob = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
                 IDManager.SetID(additionalDisruptionEventsIDRef_, ob);
             }
             else if (additionalDisruptionEventsNode.Attributes["href"] != null)
             {
                 additionalDisruptionEventsIDRef_ = additionalDisruptionEventsNode.Attributes["href"].Value;
             }
             else
             {
                 additionalDisruptionEvents_ = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
             }
         }
         else
         {
             additionalDisruptionEvents_ = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
         }
     }
     
 
     XmlNode failureToDeliverNode = xmlNode.SelectSingleNode("failureToDeliver");
     
     if (failureToDeliverNode != null)
     {
         if (failureToDeliverNode.Attributes["href"] != null || failureToDeliverNode.Attributes["id"] != null) 
         {
             if (failureToDeliverNode.Attributes["id"] != null) 
             {
                 failureToDeliverIDRef_ = failureToDeliverNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(failureToDeliverNode);
                 IDManager.SetID(failureToDeliverIDRef_, ob);
             }
             else if (failureToDeliverNode.Attributes["href"] != null)
             {
                 failureToDeliverIDRef_ = failureToDeliverNode.Attributes["href"].Value;
             }
             else
             {
                 failureToDeliver_ = new XsdTypeBoolean(failureToDeliverNode);
             }
         }
         else
         {
             failureToDeliver_ = new XsdTypeBoolean(failureToDeliverNode);
         }
     }
     
 
     XmlNode representationsNode = xmlNode.SelectSingleNode("representations");
     
     if (representationsNode != null)
     {
         if (representationsNode.Attributes["href"] != null || representationsNode.Attributes["id"] != null) 
         {
             if (representationsNode.Attributes["id"] != null) 
             {
                 representationsIDRef_ = representationsNode.Attributes["id"].Value;
                 Representations ob = new Representations(representationsNode);
                 IDManager.SetID(representationsIDRef_, ob);
             }
             else if (representationsNode.Attributes["href"] != null)
             {
                 representationsIDRef_ = representationsNode.Attributes["href"].Value;
             }
             else
             {
                 representations_ = new Representations(representationsNode);
             }
         }
         else
         {
             representations_ = new Representations(representationsNode);
         }
     }
     
 
     XmlNode nationalisationOrInsolvencyNode = xmlNode.SelectSingleNode("nationalisationOrInsolvency");
     
     if (nationalisationOrInsolvencyNode != null)
     {
         if (nationalisationOrInsolvencyNode.Attributes["href"] != null || nationalisationOrInsolvencyNode.Attributes["id"] != null) 
         {
             if (nationalisationOrInsolvencyNode.Attributes["id"] != null) 
             {
                 nationalisationOrInsolvencyIDRef_ = nationalisationOrInsolvencyNode.Attributes["id"].Value;
                 NationalisationOrInsolvencyOrDelistingEventEnum ob = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
                 IDManager.SetID(nationalisationOrInsolvencyIDRef_, ob);
             }
             else if (nationalisationOrInsolvencyNode.Attributes["href"] != null)
             {
                 nationalisationOrInsolvencyIDRef_ = nationalisationOrInsolvencyNode.Attributes["href"].Value;
             }
             else
             {
                 nationalisationOrInsolvency_ = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
             }
         }
         else
         {
             nationalisationOrInsolvency_ = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
         }
     }
     
 
     XmlNode delistingNode = xmlNode.SelectSingleNode("delisting");
     
     if (delistingNode != null)
     {
         if (delistingNode.Attributes["href"] != null || delistingNode.Attributes["id"] != null) 
         {
             if (delistingNode.Attributes["id"] != null) 
             {
                 delistingIDRef_ = delistingNode.Attributes["id"].Value;
                 NationalisationOrInsolvencyOrDelistingEventEnum ob = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
                 IDManager.SetID(delistingIDRef_, ob);
             }
             else if (delistingNode.Attributes["href"] != null)
             {
                 delistingIDRef_ = delistingNode.Attributes["href"].Value;
             }
             else
             {
                 delisting_ = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
             }
         }
         else
         {
             delisting_ = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
         }
     }
     
 
     XmlNodeList relatedExchangeIdNodeList = xmlNode.SelectNodes("relatedExchangeId");
     
     if (relatedExchangeIdNodeList != null)
     {
         this.relatedExchangeId_ = new List<ExchangeId>();
         foreach (XmlNode item in relatedExchangeIdNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     relatedExchangeIdIDRef_ = item.Attributes["id"].Value;
                     relatedExchangeId_.Add(new ExchangeId(item));
                     IDManager.SetID(relatedExchangeIdIDRef_, relatedExchangeId_[relatedExchangeId_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     relatedExchangeIdIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 relatedExchangeId_.Add(new ExchangeId(item));
                 }
             }
             else
             {
                 relatedExchangeId_.Add(new ExchangeId(item));
             }
         }
     }
     
 
     XmlNodeList optionsExchangeIdNodeList = xmlNode.SelectNodes("optionsExchangeId");
     
     if (optionsExchangeIdNodeList != null)
     {
         this.optionsExchangeId_ = new List<ExchangeId>();
         foreach (XmlNode item in optionsExchangeIdNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     optionsExchangeIdIDRef_ = item.Attributes["id"].Value;
                     optionsExchangeId_.Add(new ExchangeId(item));
                     IDManager.SetID(optionsExchangeIdIDRef_, optionsExchangeId_[optionsExchangeId_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     optionsExchangeIdIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 optionsExchangeId_.Add(new ExchangeId(item));
                 }
             }
             else
             {
                 optionsExchangeId_.Add(new ExchangeId(item));
             }
         }
     }
     
 
     XmlNodeList specifiedExchangeIdNodeList = xmlNode.SelectNodes("specifiedExchangeId");
     
     if (specifiedExchangeIdNodeList != null)
     {
         this.specifiedExchangeId_ = new List<ExchangeId>();
         foreach (XmlNode item in specifiedExchangeIdNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     specifiedExchangeIdIDRef_ = item.Attributes["id"].Value;
                     specifiedExchangeId_.Add(new ExchangeId(item));
                     IDManager.SetID(specifiedExchangeIdIDRef_, specifiedExchangeId_[specifiedExchangeId_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     specifiedExchangeIdIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 specifiedExchangeId_.Add(new ExchangeId(item));
                 }
             }
             else
             {
                 specifiedExchangeId_.Add(new ExchangeId(item));
             }
         }
     }
     
 
 }
        public ExtraordinaryEvents(XmlNode xmlNode)
        {
            XmlNode mergerEventsNode = xmlNode.SelectSingleNode("mergerEvents");

            if (mergerEventsNode != null)
            {
                if (mergerEventsNode.Attributes["href"] != null || mergerEventsNode.Attributes["id"] != null)
                {
                    if (mergerEventsNode.Attributes["id"] != null)
                    {
                        mergerEventsIDRef_ = mergerEventsNode.Attributes["id"].Value;
                        EquityCorporateEvents ob = new EquityCorporateEvents(mergerEventsNode);
                        IDManager.SetID(mergerEventsIDRef_, ob);
                    }
                    else if (mergerEventsNode.Attributes["href"] != null)
                    {
                        mergerEventsIDRef_ = mergerEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        mergerEvents_ = new EquityCorporateEvents(mergerEventsNode);
                    }
                }
                else
                {
                    mergerEvents_ = new EquityCorporateEvents(mergerEventsNode);
                }
            }


            XmlNode tenderOfferNode = xmlNode.SelectSingleNode("tenderOffer");

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


            XmlNode tenderOfferEventsNode = xmlNode.SelectSingleNode("tenderOfferEvents");

            if (tenderOfferEventsNode != null)
            {
                if (tenderOfferEventsNode.Attributes["href"] != null || tenderOfferEventsNode.Attributes["id"] != null)
                {
                    if (tenderOfferEventsNode.Attributes["id"] != null)
                    {
                        tenderOfferEventsIDRef_ = tenderOfferEventsNode.Attributes["id"].Value;
                        EquityCorporateEvents ob = new EquityCorporateEvents(tenderOfferEventsNode);
                        IDManager.SetID(tenderOfferEventsIDRef_, ob);
                    }
                    else if (tenderOfferEventsNode.Attributes["href"] != null)
                    {
                        tenderOfferEventsIDRef_ = tenderOfferEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        tenderOfferEvents_ = new EquityCorporateEvents(tenderOfferEventsNode);
                    }
                }
                else
                {
                    tenderOfferEvents_ = new EquityCorporateEvents(tenderOfferEventsNode);
                }
            }


            XmlNode compositionOfCombinedConsiderationNode = xmlNode.SelectSingleNode("compositionOfCombinedConsideration");

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


            XmlNode indexAdjustmentEventsNode = xmlNode.SelectSingleNode("indexAdjustmentEvents");

            if (indexAdjustmentEventsNode != null)
            {
                if (indexAdjustmentEventsNode.Attributes["href"] != null || indexAdjustmentEventsNode.Attributes["id"] != null)
                {
                    if (indexAdjustmentEventsNode.Attributes["id"] != null)
                    {
                        indexAdjustmentEventsIDRef_ = indexAdjustmentEventsNode.Attributes["id"].Value;
                        IndexAdjustmentEvents ob = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
                        IDManager.SetID(indexAdjustmentEventsIDRef_, ob);
                    }
                    else if (indexAdjustmentEventsNode.Attributes["href"] != null)
                    {
                        indexAdjustmentEventsIDRef_ = indexAdjustmentEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        indexAdjustmentEvents_ = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
                    }
                }
                else
                {
                    indexAdjustmentEvents_ = new IndexAdjustmentEvents(indexAdjustmentEventsNode);
                }
            }


            XmlNode additionalDisruptionEventsNode = xmlNode.SelectSingleNode("additionalDisruptionEvents");

            if (additionalDisruptionEventsNode != null)
            {
                if (additionalDisruptionEventsNode.Attributes["href"] != null || additionalDisruptionEventsNode.Attributes["id"] != null)
                {
                    if (additionalDisruptionEventsNode.Attributes["id"] != null)
                    {
                        additionalDisruptionEventsIDRef_ = additionalDisruptionEventsNode.Attributes["id"].Value;
                        AdditionalDisruptionEvents ob = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
                        IDManager.SetID(additionalDisruptionEventsIDRef_, ob);
                    }
                    else if (additionalDisruptionEventsNode.Attributes["href"] != null)
                    {
                        additionalDisruptionEventsIDRef_ = additionalDisruptionEventsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        additionalDisruptionEvents_ = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
                    }
                }
                else
                {
                    additionalDisruptionEvents_ = new AdditionalDisruptionEvents(additionalDisruptionEventsNode);
                }
            }


            XmlNode failureToDeliverNode = xmlNode.SelectSingleNode("failureToDeliver");

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


            XmlNode representationsNode = xmlNode.SelectSingleNode("representations");

            if (representationsNode != null)
            {
                if (representationsNode.Attributes["href"] != null || representationsNode.Attributes["id"] != null)
                {
                    if (representationsNode.Attributes["id"] != null)
                    {
                        representationsIDRef_ = representationsNode.Attributes["id"].Value;
                        Representations ob = new Representations(representationsNode);
                        IDManager.SetID(representationsIDRef_, ob);
                    }
                    else if (representationsNode.Attributes["href"] != null)
                    {
                        representationsIDRef_ = representationsNode.Attributes["href"].Value;
                    }
                    else
                    {
                        representations_ = new Representations(representationsNode);
                    }
                }
                else
                {
                    representations_ = new Representations(representationsNode);
                }
            }


            XmlNode nationalisationOrInsolvencyNode = xmlNode.SelectSingleNode("nationalisationOrInsolvency");

            if (nationalisationOrInsolvencyNode != null)
            {
                if (nationalisationOrInsolvencyNode.Attributes["href"] != null || nationalisationOrInsolvencyNode.Attributes["id"] != null)
                {
                    if (nationalisationOrInsolvencyNode.Attributes["id"] != null)
                    {
                        nationalisationOrInsolvencyIDRef_ = nationalisationOrInsolvencyNode.Attributes["id"].Value;
                        NationalisationOrInsolvencyOrDelistingEventEnum ob = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
                        IDManager.SetID(nationalisationOrInsolvencyIDRef_, ob);
                    }
                    else if (nationalisationOrInsolvencyNode.Attributes["href"] != null)
                    {
                        nationalisationOrInsolvencyIDRef_ = nationalisationOrInsolvencyNode.Attributes["href"].Value;
                    }
                    else
                    {
                        nationalisationOrInsolvency_ = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
                    }
                }
                else
                {
                    nationalisationOrInsolvency_ = new NationalisationOrInsolvencyOrDelistingEventEnum(nationalisationOrInsolvencyNode);
                }
            }


            XmlNode delistingNode = xmlNode.SelectSingleNode("delisting");

            if (delistingNode != null)
            {
                if (delistingNode.Attributes["href"] != null || delistingNode.Attributes["id"] != null)
                {
                    if (delistingNode.Attributes["id"] != null)
                    {
                        delistingIDRef_ = delistingNode.Attributes["id"].Value;
                        NationalisationOrInsolvencyOrDelistingEventEnum ob = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
                        IDManager.SetID(delistingIDRef_, ob);
                    }
                    else if (delistingNode.Attributes["href"] != null)
                    {
                        delistingIDRef_ = delistingNode.Attributes["href"].Value;
                    }
                    else
                    {
                        delisting_ = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
                    }
                }
                else
                {
                    delisting_ = new NationalisationOrInsolvencyOrDelistingEventEnum(delistingNode);
                }
            }


            XmlNodeList relatedExchangeIdNodeList = xmlNode.SelectNodes("relatedExchangeId");

            if (relatedExchangeIdNodeList != null)
            {
                this.relatedExchangeId_ = new List <ExchangeId>();
                foreach (XmlNode item in relatedExchangeIdNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            relatedExchangeIdIDRef_ = item.Attributes["id"].Value;
                            relatedExchangeId_.Add(new ExchangeId(item));
                            IDManager.SetID(relatedExchangeIdIDRef_, relatedExchangeId_[relatedExchangeId_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            relatedExchangeIdIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            relatedExchangeId_.Add(new ExchangeId(item));
                        }
                    }
                    else
                    {
                        relatedExchangeId_.Add(new ExchangeId(item));
                    }
                }
            }


            XmlNodeList optionsExchangeIdNodeList = xmlNode.SelectNodes("optionsExchangeId");

            if (optionsExchangeIdNodeList != null)
            {
                this.optionsExchangeId_ = new List <ExchangeId>();
                foreach (XmlNode item in optionsExchangeIdNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            optionsExchangeIdIDRef_ = item.Attributes["id"].Value;
                            optionsExchangeId_.Add(new ExchangeId(item));
                            IDManager.SetID(optionsExchangeIdIDRef_, optionsExchangeId_[optionsExchangeId_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            optionsExchangeIdIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            optionsExchangeId_.Add(new ExchangeId(item));
                        }
                    }
                    else
                    {
                        optionsExchangeId_.Add(new ExchangeId(item));
                    }
                }
            }


            XmlNodeList specifiedExchangeIdNodeList = xmlNode.SelectNodes("specifiedExchangeId");

            if (specifiedExchangeIdNodeList != null)
            {
                this.specifiedExchangeId_ = new List <ExchangeId>();
                foreach (XmlNode item in specifiedExchangeIdNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            specifiedExchangeIdIDRef_ = item.Attributes["id"].Value;
                            specifiedExchangeId_.Add(new ExchangeId(item));
                            IDManager.SetID(specifiedExchangeIdIDRef_, specifiedExchangeId_[specifiedExchangeId_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            specifiedExchangeIdIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            specifiedExchangeId_.Add(new ExchangeId(item));
                        }
                    }
                    else
                    {
                        specifiedExchangeId_.Add(new ExchangeId(item));
                    }
                }
            }
        }
        public ExtraordinaryEvents(XmlNode xmlNode)
        {
            XmlNodeList mergerEventsNodeList = xmlNode.SelectNodes("mergerEvents");

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

            foreach (XmlNode item in mergerEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        mergerEventsIDRef = item.Attributes["id"].Name;
                        EquityCorporateEvents ob = EquityCorporateEvents();
                        IDManager.SetID(mergerEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        mergerEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        mergerEvents = new EquityCorporateEvents(item);
                    }
                }
            }


            XmlNodeList tenderOfferNodeList = xmlNode.SelectNodes("tenderOffer");

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

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


            XmlNodeList tenderOfferEventsNodeList = xmlNode.SelectNodes("tenderOfferEvents");

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

            foreach (XmlNode item in tenderOfferEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        tenderOfferEventsIDRef = item.Attributes["id"].Name;
                        EquityCorporateEvents ob = EquityCorporateEvents();
                        IDManager.SetID(tenderOfferEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        tenderOfferEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        tenderOfferEvents = new EquityCorporateEvents(item);
                    }
                }
            }


            XmlNodeList compositionOfCombinedConsiderationNodeList = xmlNode.SelectNodes("compositionOfCombinedConsideration");

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

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


            XmlNodeList indexAdjustmentEventsNodeList = xmlNode.SelectNodes("indexAdjustmentEvents");

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

            foreach (XmlNode item in indexAdjustmentEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        indexAdjustmentEventsIDRef = item.Attributes["id"].Name;
                        IndexAdjustmentEvents ob = IndexAdjustmentEvents();
                        IDManager.SetID(indexAdjustmentEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        indexAdjustmentEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        indexAdjustmentEvents = new IndexAdjustmentEvents(item);
                    }
                }
            }


            XmlNodeList additionalDisruptionEventsNodeList = xmlNode.SelectNodes("additionalDisruptionEvents");

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

            foreach (XmlNode item in additionalDisruptionEventsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        additionalDisruptionEventsIDRef = item.Attributes["id"].Name;
                        AdditionalDisruptionEvents ob = AdditionalDisruptionEvents();
                        IDManager.SetID(additionalDisruptionEventsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        additionalDisruptionEventsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        additionalDisruptionEvents = new AdditionalDisruptionEvents(item);
                    }
                }
            }


            XmlNodeList failureToDeliverNodeList = xmlNode.SelectNodes("failureToDeliver");

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

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


            XmlNodeList representationsNodeList = xmlNode.SelectNodes("representations");

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

            foreach (XmlNode item in representationsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        representationsIDRef = item.Attributes["id"].Name;
                        Representations ob = Representations();
                        IDManager.SetID(representationsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        representationsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        representations = new Representations(item);
                    }
                }
            }


            XmlNodeList nationalisationOrInsolvencyNodeList = xmlNode.SelectNodes("nationalisationOrInsolvency");

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

            foreach (XmlNode item in nationalisationOrInsolvencyNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        nationalisationOrInsolvencyIDRef = item.Attributes["id"].Name;
                        NationalisationOrInsolvencyOrDelistingEventEnum ob = NationalisationOrInsolvencyOrDelistingEventEnum();
                        IDManager.SetID(nationalisationOrInsolvencyIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        nationalisationOrInsolvencyIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        nationalisationOrInsolvency = new NationalisationOrInsolvencyOrDelistingEventEnum(item);
                    }
                }
            }


            XmlNodeList delistingNodeList = xmlNode.SelectNodes("delisting");

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

            foreach (XmlNode item in delistingNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        delistingIDRef = item.Attributes["id"].Name;
                        NationalisationOrInsolvencyOrDelistingEventEnum ob = NationalisationOrInsolvencyOrDelistingEventEnum();
                        IDManager.SetID(delistingIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        delistingIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        delisting = new NationalisationOrInsolvencyOrDelistingEventEnum(item);
                    }
                }
            }


            XmlNodeList relatedExchangeIdNodeList = xmlNode.SelectNodes("relatedExchangeId");

            foreach (XmlNode item in relatedExchangeIdNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        relatedExchangeIdIDRef = item.Attributes["id"].Name;
                        List <ExchangeId> ob = new List <ExchangeId>();
                        ob.Add(new ExchangeId(item));
                        IDManager.SetID(relatedExchangeIdIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        relatedExchangeIdIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        relatedExchangeId.Add(new ExchangeId(item));
                    }
                }
            }


            XmlNodeList optionsExchangeIdNodeList = xmlNode.SelectNodes("optionsExchangeId");

            foreach (XmlNode item in optionsExchangeIdNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        optionsExchangeIdIDRef = item.Attributes["id"].Name;
                        List <ExchangeId> ob = new List <ExchangeId>();
                        ob.Add(new ExchangeId(item));
                        IDManager.SetID(optionsExchangeIdIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        optionsExchangeIdIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        optionsExchangeId.Add(new ExchangeId(item));
                    }
                }
            }


            XmlNodeList specifiedExchangeIdNodeList = xmlNode.SelectNodes("specifiedExchangeId");

            foreach (XmlNode item in specifiedExchangeIdNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        specifiedExchangeIdIDRef = item.Attributes["id"].Name;
                        List <ExchangeId> ob = new List <ExchangeId>();
                        ob.Add(new ExchangeId(item));
                        IDManager.SetID(specifiedExchangeIdIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        specifiedExchangeIdIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        specifiedExchangeId.Add(new ExchangeId(item));
                    }
                }
            }
        }