public EquityBermudaExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode bermudaExerciseDatesNode = xmlNode.SelectSingleNode("bermudaExerciseDates");

            if (bermudaExerciseDatesNode != null)
            {
                if (bermudaExerciseDatesNode.Attributes["href"] != null || bermudaExerciseDatesNode.Attributes["id"] != null)
                {
                    if (bermudaExerciseDatesNode.Attributes["id"] != null)
                    {
                        bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["id"].Value;
                        DateList ob = new DateList(bermudaExerciseDatesNode);
                        IDManager.SetID(bermudaExerciseDatesIDRef_, ob);
                    }
                    else if (bermudaExerciseDatesNode.Attributes["href"] != null)
                    {
                        bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
                    }
                }
                else
                {
                    bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
                }
            }


            XmlNode latestExerciseTimeTypeNode = xmlNode.SelectSingleNode("latestExerciseTimeType");

            if (latestExerciseTimeTypeNode != null)
            {
                if (latestExerciseTimeTypeNode.Attributes["href"] != null || latestExerciseTimeTypeNode.Attributes["id"] != null)
                {
                    if (latestExerciseTimeTypeNode.Attributes["id"] != null)
                    {
                        latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["id"].Value;
                        TimeTypeEnum ob = new TimeTypeEnum(latestExerciseTimeTypeNode);
                        IDManager.SetID(latestExerciseTimeTypeIDRef_, ob);
                    }
                    else if (latestExerciseTimeTypeNode.Attributes["href"] != null)
                    {
                        latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
                    }
                }
                else
                {
                    latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
                }
            }


            XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");

            if (equityExpirationTimeTypeNode != null)
            {
                if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeTypeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                        TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                        IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
                    }
                    else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                    }
                }
                else
                {
                    equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
                }
            }


            XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");

            if (equityExpirationTimeNode != null)
            {
                if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null)
                {
                    if (equityExpirationTimeNode.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                        BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                        IDManager.SetID(equityExpirationTimeIDRef_, ob);
                    }
                    else if (equityExpirationTimeNode.Attributes["href"] != null)
                    {
                        equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                    }
                }
                else
                {
                    equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
                }
            }


            XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");

            if (expirationTimeDeterminationNode != null)
            {
                if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null)
                {
                    if (expirationTimeDeterminationNode.Attributes["id"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                        DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                        IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
                    }
                    else if (expirationTimeDeterminationNode.Attributes["href"] != null)
                    {
                        expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
                    }
                    else
                    {
                        expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                    }
                }
                else
                {
                    expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
                }
            }


            XmlNode equityMultipleExerciseNode = xmlNode.SelectSingleNode("equityMultipleExercise");

            if (equityMultipleExerciseNode != null)
            {
                if (equityMultipleExerciseNode.Attributes["href"] != null || equityMultipleExerciseNode.Attributes["id"] != null)
                {
                    if (equityMultipleExerciseNode.Attributes["id"] != null)
                    {
                        equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["id"].Value;
                        EquityMultipleExercise ob = new EquityMultipleExercise(equityMultipleExerciseNode);
                        IDManager.SetID(equityMultipleExerciseIDRef_, ob);
                    }
                    else if (equityMultipleExerciseNode.Attributes["href"] != null)
                    {
                        equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["href"].Value;
                    }
                    else
                    {
                        equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
                    }
                }
                else
                {
                    equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
                }
            }
        }
 public DateInformation(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode typeNode = xmlNode.SelectSingleNode("type");
     
     if (typeNode != null)
     {
         if (typeNode.Attributes["href"] != null || typeNode.Attributes["id"] != null) 
         {
             if (typeNode.Attributes["id"] != null) 
             {
                 typeIDRef_ = typeNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(typeNode);
                 IDManager.SetID(typeIDRef_, ob);
             }
             else if (typeNode.Attributes["href"] != null)
             {
                 typeIDRef_ = typeNode.Attributes["href"].Value;
             }
             else
             {
                 type_ = new XsdTypeToken(typeNode);
             }
         }
         else
         {
             type_ = new XsdTypeToken(typeNode);
         }
     }
     
 
     XmlNode dailyIntervalNode = xmlNode.SelectSingleNode("dailyInterval");
     
     if (dailyIntervalNode != null)
     {
         if (dailyIntervalNode.Attributes["href"] != null || dailyIntervalNode.Attributes["id"] != null) 
         {
             if (dailyIntervalNode.Attributes["id"] != null) 
             {
                 dailyIntervalIDRef_ = dailyIntervalNode.Attributes["id"].Value;
                 DailyInterval ob = new DailyInterval(dailyIntervalNode);
                 IDManager.SetID(dailyIntervalIDRef_, ob);
             }
             else if (dailyIntervalNode.Attributes["href"] != null)
             {
                 dailyIntervalIDRef_ = dailyIntervalNode.Attributes["href"].Value;
             }
             else
             {
                 dailyInterval_ = new DailyInterval(dailyIntervalNode);
             }
         }
         else
         {
             dailyInterval_ = new DailyInterval(dailyIntervalNode);
         }
     }
     
 
     XmlNode dateListNode = xmlNode.SelectSingleNode("dateList");
     
     if (dateListNode != null)
     {
         if (dateListNode.Attributes["href"] != null || dateListNode.Attributes["id"] != null) 
         {
             if (dateListNode.Attributes["id"] != null) 
             {
                 dateListIDRef_ = dateListNode.Attributes["id"].Value;
                 DateList ob = new DateList(dateListNode);
                 IDManager.SetID(dateListIDRef_, ob);
             }
             else if (dateListNode.Attributes["href"] != null)
             {
                 dateListIDRef_ = dateListNode.Attributes["href"].Value;
             }
             else
             {
                 dateList_ = new DateList(dateListNode);
             }
         }
         else
         {
             dateList_ = new DateList(dateListNode);
         }
     }
     
 
 }
        public TriggerEvent(XmlNode xmlNode)
        {
            XmlNodeList scheduleNodeList = xmlNode.SelectNodes("schedule");

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


            XmlNode triggerDatesNode = xmlNode.SelectSingleNode("triggerDates");

            if (triggerDatesNode != null)
            {
                if (triggerDatesNode.Attributes["href"] != null || triggerDatesNode.Attributes["id"] != null)
                {
                    if (triggerDatesNode.Attributes["id"] != null)
                    {
                        triggerDatesIDRef_ = triggerDatesNode.Attributes["id"].Value;
                        DateList ob = new DateList(triggerDatesNode);
                        IDManager.SetID(triggerDatesIDRef_, ob);
                    }
                    else if (triggerDatesNode.Attributes["href"] != null)
                    {
                        triggerDatesIDRef_ = triggerDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        triggerDates_ = new DateList(triggerDatesNode);
                    }
                }
                else
                {
                    triggerDates_ = new DateList(triggerDatesNode);
                }
            }


            XmlNode triggerNode = xmlNode.SelectSingleNode("trigger");

            if (triggerNode != null)
            {
                if (triggerNode.Attributes["href"] != null || triggerNode.Attributes["id"] != null)
                {
                    if (triggerNode.Attributes["id"] != null)
                    {
                        triggerIDRef_ = triggerNode.Attributes["id"].Value;
                        Trigger ob = new Trigger(triggerNode);
                        IDManager.SetID(triggerIDRef_, ob);
                    }
                    else if (triggerNode.Attributes["href"] != null)
                    {
                        triggerIDRef_ = triggerNode.Attributes["href"].Value;
                    }
                    else
                    {
                        trigger_ = new Trigger(triggerNode);
                    }
                }
                else
                {
                    trigger_ = new Trigger(triggerNode);
                }
            }


            XmlNode featurePaymentNode = xmlNode.SelectSingleNode("featurePayment");

            if (featurePaymentNode != null)
            {
                if (featurePaymentNode.Attributes["href"] != null || featurePaymentNode.Attributes["id"] != null)
                {
                    if (featurePaymentNode.Attributes["id"] != null)
                    {
                        featurePaymentIDRef_ = featurePaymentNode.Attributes["id"].Value;
                        FeaturePayment ob = new FeaturePayment(featurePaymentNode);
                        IDManager.SetID(featurePaymentIDRef_, ob);
                    }
                    else if (featurePaymentNode.Attributes["href"] != null)
                    {
                        featurePaymentIDRef_ = featurePaymentNode.Attributes["href"].Value;
                    }
                    else
                    {
                        featurePayment_ = new FeaturePayment(featurePaymentNode);
                    }
                }
                else
                {
                    featurePayment_ = new FeaturePayment(featurePaymentNode);
                }
            }
        }
        public TriggerEvent(XmlNode xmlNode)
        {
            XmlNodeList scheduleNodeList = xmlNode.SelectNodes("schedule");

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


            XmlNodeList triggerDatesNodeList = xmlNode.SelectNodes("triggerDates");

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

            foreach (XmlNode item in triggerDatesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        triggerDatesIDRef = item.Attributes["id"].Name;
                        DateList ob = DateList();
                        IDManager.SetID(triggerDatesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        triggerDatesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        triggerDates = new DateList(item);
                    }
                }
            }


            XmlNodeList triggerNodeList = xmlNode.SelectNodes("trigger");

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

            foreach (XmlNode item in triggerNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        triggerIDRef = item.Attributes["id"].Name;
                        Trigger ob = Trigger();
                        IDManager.SetID(triggerIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        triggerIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        trigger = new Trigger(item);
                    }
                }
            }


            XmlNodeList featurePaymentNodeList = xmlNode.SelectNodes("featurePayment");

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

            foreach (XmlNode item in featurePaymentNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        featurePaymentIDRef = item.Attributes["id"].Name;
                        FeaturePayment ob = FeaturePayment();
                        IDManager.SetID(featurePaymentIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        featurePaymentIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        featurePayment = new FeaturePayment(item);
                    }
                }
            }
        }
 public TriggerEvent(XmlNode xmlNode)
 {
     XmlNodeList scheduleNodeList = xmlNode.SelectNodes("schedule");
     
     if (scheduleNodeList != null)
     {
         this.schedule_ = new List<AveragingSchedule>();
         foreach (XmlNode item in scheduleNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     scheduleIDRef_ = item.Attributes["id"].Value;
                     schedule_.Add(new AveragingSchedule(item));
                     IDManager.SetID(scheduleIDRef_, schedule_[schedule_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     scheduleIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 schedule_.Add(new AveragingSchedule(item));
                 }
             }
             else
             {
                 schedule_.Add(new AveragingSchedule(item));
             }
         }
     }
     
 
     XmlNode triggerDatesNode = xmlNode.SelectSingleNode("triggerDates");
     
     if (triggerDatesNode != null)
     {
         if (triggerDatesNode.Attributes["href"] != null || triggerDatesNode.Attributes["id"] != null) 
         {
             if (triggerDatesNode.Attributes["id"] != null) 
             {
                 triggerDatesIDRef_ = triggerDatesNode.Attributes["id"].Value;
                 DateList ob = new DateList(triggerDatesNode);
                 IDManager.SetID(triggerDatesIDRef_, ob);
             }
             else if (triggerDatesNode.Attributes["href"] != null)
             {
                 triggerDatesIDRef_ = triggerDatesNode.Attributes["href"].Value;
             }
             else
             {
                 triggerDates_ = new DateList(triggerDatesNode);
             }
         }
         else
         {
             triggerDates_ = new DateList(triggerDatesNode);
         }
     }
     
 
     XmlNode triggerNode = xmlNode.SelectSingleNode("trigger");
     
     if (triggerNode != null)
     {
         if (triggerNode.Attributes["href"] != null || triggerNode.Attributes["id"] != null) 
         {
             if (triggerNode.Attributes["id"] != null) 
             {
                 triggerIDRef_ = triggerNode.Attributes["id"].Value;
                 Trigger ob = new Trigger(triggerNode);
                 IDManager.SetID(triggerIDRef_, ob);
             }
             else if (triggerNode.Attributes["href"] != null)
             {
                 triggerIDRef_ = triggerNode.Attributes["href"].Value;
             }
             else
             {
                 trigger_ = new Trigger(triggerNode);
             }
         }
         else
         {
             trigger_ = new Trigger(triggerNode);
         }
     }
     
 
     XmlNode featurePaymentNode = xmlNode.SelectSingleNode("featurePayment");
     
     if (featurePaymentNode != null)
     {
         if (featurePaymentNode.Attributes["href"] != null || featurePaymentNode.Attributes["id"] != null) 
         {
             if (featurePaymentNode.Attributes["id"] != null) 
             {
                 featurePaymentIDRef_ = featurePaymentNode.Attributes["id"].Value;
                 FeaturePayment ob = new FeaturePayment(featurePaymentNode);
                 IDManager.SetID(featurePaymentIDRef_, ob);
             }
             else if (featurePaymentNode.Attributes["href"] != null)
             {
                 featurePaymentIDRef_ = featurePaymentNode.Attributes["href"].Value;
             }
             else
             {
                 featurePayment_ = new FeaturePayment(featurePaymentNode);
             }
         }
         else
         {
             featurePayment_ = new FeaturePayment(featurePaymentNode);
         }
     }
     
 
 }
 public EquityBermudaExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode bermudaExerciseDatesNode = xmlNode.SelectSingleNode("bermudaExerciseDates");
     
     if (bermudaExerciseDatesNode != null)
     {
         if (bermudaExerciseDatesNode.Attributes["href"] != null || bermudaExerciseDatesNode.Attributes["id"] != null) 
         {
             if (bermudaExerciseDatesNode.Attributes["id"] != null) 
             {
                 bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["id"].Value;
                 DateList ob = new DateList(bermudaExerciseDatesNode);
                 IDManager.SetID(bermudaExerciseDatesIDRef_, ob);
             }
             else if (bermudaExerciseDatesNode.Attributes["href"] != null)
             {
                 bermudaExerciseDatesIDRef_ = bermudaExerciseDatesNode.Attributes["href"].Value;
             }
             else
             {
                 bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
             }
         }
         else
         {
             bermudaExerciseDates_ = new DateList(bermudaExerciseDatesNode);
         }
     }
     
 
     XmlNode latestExerciseTimeTypeNode = xmlNode.SelectSingleNode("latestExerciseTimeType");
     
     if (latestExerciseTimeTypeNode != null)
     {
         if (latestExerciseTimeTypeNode.Attributes["href"] != null || latestExerciseTimeTypeNode.Attributes["id"] != null) 
         {
             if (latestExerciseTimeTypeNode.Attributes["id"] != null) 
             {
                 latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["id"].Value;
                 TimeTypeEnum ob = new TimeTypeEnum(latestExerciseTimeTypeNode);
                 IDManager.SetID(latestExerciseTimeTypeIDRef_, ob);
             }
             else if (latestExerciseTimeTypeNode.Attributes["href"] != null)
             {
                 latestExerciseTimeTypeIDRef_ = latestExerciseTimeTypeNode.Attributes["href"].Value;
             }
             else
             {
                 latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
             }
         }
         else
         {
             latestExerciseTimeType_ = new TimeTypeEnum(latestExerciseTimeTypeNode);
         }
     }
     
 
     XmlNode equityExpirationTimeTypeNode = xmlNode.SelectSingleNode("equityExpirationTimeType");
     
     if (equityExpirationTimeTypeNode != null)
     {
         if (equityExpirationTimeTypeNode.Attributes["href"] != null || equityExpirationTimeTypeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeTypeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["id"].Value;
                 TimeTypeEnum ob = new TimeTypeEnum(equityExpirationTimeTypeNode);
                 IDManager.SetID(equityExpirationTimeTypeIDRef_, ob);
             }
             else if (equityExpirationTimeTypeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeTypeIDRef_ = equityExpirationTimeTypeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
             }
         }
         else
         {
             equityExpirationTimeType_ = new TimeTypeEnum(equityExpirationTimeTypeNode);
         }
     }
     
 
     XmlNode equityExpirationTimeNode = xmlNode.SelectSingleNode("equityExpirationTime");
     
     if (equityExpirationTimeNode != null)
     {
         if (equityExpirationTimeNode.Attributes["href"] != null || equityExpirationTimeNode.Attributes["id"] != null) 
         {
             if (equityExpirationTimeNode.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["id"].Value;
                 BusinessCenterTime ob = new BusinessCenterTime(equityExpirationTimeNode);
                 IDManager.SetID(equityExpirationTimeIDRef_, ob);
             }
             else if (equityExpirationTimeNode.Attributes["href"] != null)
             {
                 equityExpirationTimeIDRef_ = equityExpirationTimeNode.Attributes["href"].Value;
             }
             else
             {
                 equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
             }
         }
         else
         {
             equityExpirationTime_ = new BusinessCenterTime(equityExpirationTimeNode);
         }
     }
     
 
     XmlNode expirationTimeDeterminationNode = xmlNode.SelectSingleNode("expirationTimeDetermination");
     
     if (expirationTimeDeterminationNode != null)
     {
         if (expirationTimeDeterminationNode.Attributes["href"] != null || expirationTimeDeterminationNode.Attributes["id"] != null) 
         {
             if (expirationTimeDeterminationNode.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["id"].Value;
                 DeterminationMethod ob = new DeterminationMethod(expirationTimeDeterminationNode);
                 IDManager.SetID(expirationTimeDeterminationIDRef_, ob);
             }
             else if (expirationTimeDeterminationNode.Attributes["href"] != null)
             {
                 expirationTimeDeterminationIDRef_ = expirationTimeDeterminationNode.Attributes["href"].Value;
             }
             else
             {
                 expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
             }
         }
         else
         {
             expirationTimeDetermination_ = new DeterminationMethod(expirationTimeDeterminationNode);
         }
     }
     
 
     XmlNode equityMultipleExerciseNode = xmlNode.SelectSingleNode("equityMultipleExercise");
     
     if (equityMultipleExerciseNode != null)
     {
         if (equityMultipleExerciseNode.Attributes["href"] != null || equityMultipleExerciseNode.Attributes["id"] != null) 
         {
             if (equityMultipleExerciseNode.Attributes["id"] != null) 
             {
                 equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["id"].Value;
                 EquityMultipleExercise ob = new EquityMultipleExercise(equityMultipleExerciseNode);
                 IDManager.SetID(equityMultipleExerciseIDRef_, ob);
             }
             else if (equityMultipleExerciseNode.Attributes["href"] != null)
             {
                 equityMultipleExerciseIDRef_ = equityMultipleExerciseNode.Attributes["href"].Value;
             }
             else
             {
                 equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
             }
         }
         else
         {
             equityMultipleExercise_ = new EquityMultipleExercise(equityMultipleExerciseNode);
         }
     }
     
 
 }
 public EquityBermudaExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNodeList bermudaExerciseDatesNodeList = xmlNode.SelectNodes("bermudaExerciseDates");
     if (bermudaExerciseDatesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in bermudaExerciseDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 bermudaExerciseDatesIDRef = item.Attributes["id"].Name;
                 DateList ob = DateList();
                 IDManager.SetID(bermudaExerciseDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 bermudaExerciseDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 bermudaExerciseDates = new DateList(item);
             }
         }
     }
     
 
     XmlNodeList latestExerciseTimeTypeNodeList = xmlNode.SelectNodes("latestExerciseTimeType");
     if (latestExerciseTimeTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in latestExerciseTimeTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 latestExerciseTimeTypeIDRef = item.Attributes["id"].Name;
                 TimeTypeEnum ob = TimeTypeEnum();
                 IDManager.SetID(latestExerciseTimeTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 latestExerciseTimeTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 latestExerciseTimeType = new TimeTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");
     if (equityExpirationTimeTypeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeTypeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["id"].Name;
                 TimeTypeEnum ob = TimeTypeEnum();
                 IDManager.SetID(equityExpirationTimeTypeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeTypeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTimeType = new TimeTypeEnum(item);
             }
         }
     }
     
 
     XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");
     if (equityExpirationTimeNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityExpirationTimeNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityExpirationTimeIDRef = item.Attributes["id"].Name;
                 BusinessCenterTime ob = BusinessCenterTime();
                 IDManager.SetID(equityExpirationTimeIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityExpirationTimeIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityExpirationTime = new BusinessCenterTime(item);
             }
         }
     }
     
 
     XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");
     if (expirationTimeDeterminationNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in expirationTimeDeterminationNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 expirationTimeDeterminationIDRef = item.Attributes["id"].Name;
                 DeterminationMethod ob = DeterminationMethod();
                 IDManager.SetID(expirationTimeDeterminationIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 expirationTimeDeterminationIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 expirationTimeDetermination = new DeterminationMethod(item);
             }
         }
     }
     
 
     XmlNodeList equityMultipleExerciseNodeList = xmlNode.SelectNodes("equityMultipleExercise");
     if (equityMultipleExerciseNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in equityMultipleExerciseNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 equityMultipleExerciseIDRef = item.Attributes["id"].Name;
                 EquityMultipleExercise ob = EquityMultipleExercise();
                 IDManager.SetID(equityMultipleExerciseIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 equityMultipleExerciseIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 equityMultipleExercise = new EquityMultipleExercise(item);
             }
         }
     }
     
 
 }
        public DateInformation(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode typeNode = xmlNode.SelectSingleNode("type");

            if (typeNode != null)
            {
                if (typeNode.Attributes["href"] != null || typeNode.Attributes["id"] != null)
                {
                    if (typeNode.Attributes["id"] != null)
                    {
                        typeIDRef_ = typeNode.Attributes["id"].Value;
                        XsdTypeToken ob = new XsdTypeToken(typeNode);
                        IDManager.SetID(typeIDRef_, ob);
                    }
                    else if (typeNode.Attributes["href"] != null)
                    {
                        typeIDRef_ = typeNode.Attributes["href"].Value;
                    }
                    else
                    {
                        type_ = new XsdTypeToken(typeNode);
                    }
                }
                else
                {
                    type_ = new XsdTypeToken(typeNode);
                }
            }


            XmlNode dailyIntervalNode = xmlNode.SelectSingleNode("dailyInterval");

            if (dailyIntervalNode != null)
            {
                if (dailyIntervalNode.Attributes["href"] != null || dailyIntervalNode.Attributes["id"] != null)
                {
                    if (dailyIntervalNode.Attributes["id"] != null)
                    {
                        dailyIntervalIDRef_ = dailyIntervalNode.Attributes["id"].Value;
                        DailyInterval ob = new DailyInterval(dailyIntervalNode);
                        IDManager.SetID(dailyIntervalIDRef_, ob);
                    }
                    else if (dailyIntervalNode.Attributes["href"] != null)
                    {
                        dailyIntervalIDRef_ = dailyIntervalNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dailyInterval_ = new DailyInterval(dailyIntervalNode);
                    }
                }
                else
                {
                    dailyInterval_ = new DailyInterval(dailyIntervalNode);
                }
            }


            XmlNode dateListNode = xmlNode.SelectSingleNode("dateList");

            if (dateListNode != null)
            {
                if (dateListNode.Attributes["href"] != null || dateListNode.Attributes["id"] != null)
                {
                    if (dateListNode.Attributes["id"] != null)
                    {
                        dateListIDRef_ = dateListNode.Attributes["id"].Value;
                        DateList ob = new DateList(dateListNode);
                        IDManager.SetID(dateListIDRef_, ob);
                    }
                    else if (dateListNode.Attributes["href"] != null)
                    {
                        dateListIDRef_ = dateListNode.Attributes["href"].Value;
                    }
                    else
                    {
                        dateList_ = new DateList(dateListNode);
                    }
                }
                else
                {
                    dateList_ = new DateList(dateListNode);
                }
            }
        }
        public EquityBermudaExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNodeList bermudaExerciseDatesNodeList = xmlNode.SelectNodes("bermudaExerciseDates");

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

            foreach (XmlNode item in bermudaExerciseDatesNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        bermudaExerciseDatesIDRef = item.Attributes["id"].Name;
                        DateList ob = DateList();
                        IDManager.SetID(bermudaExerciseDatesIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        bermudaExerciseDatesIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        bermudaExerciseDates = new DateList(item);
                    }
                }
            }


            XmlNodeList latestExerciseTimeTypeNodeList = xmlNode.SelectNodes("latestExerciseTimeType");

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

            foreach (XmlNode item in latestExerciseTimeTypeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        latestExerciseTimeTypeIDRef = item.Attributes["id"].Name;
                        TimeTypeEnum ob = TimeTypeEnum();
                        IDManager.SetID(latestExerciseTimeTypeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        latestExerciseTimeTypeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        latestExerciseTimeType = new TimeTypeEnum(item);
                    }
                }
            }


            XmlNodeList equityExpirationTimeTypeNodeList = xmlNode.SelectNodes("equityExpirationTimeType");

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

            foreach (XmlNode item in equityExpirationTimeTypeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityExpirationTimeTypeIDRef = item.Attributes["id"].Name;
                        TimeTypeEnum ob = TimeTypeEnum();
                        IDManager.SetID(equityExpirationTimeTypeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityExpirationTimeTypeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityExpirationTimeType = new TimeTypeEnum(item);
                    }
                }
            }


            XmlNodeList equityExpirationTimeNodeList = xmlNode.SelectNodes("equityExpirationTime");

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

            foreach (XmlNode item in equityExpirationTimeNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityExpirationTimeIDRef = item.Attributes["id"].Name;
                        BusinessCenterTime ob = BusinessCenterTime();
                        IDManager.SetID(equityExpirationTimeIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityExpirationTimeIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityExpirationTime = new BusinessCenterTime(item);
                    }
                }
            }


            XmlNodeList expirationTimeDeterminationNodeList = xmlNode.SelectNodes("expirationTimeDetermination");

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

            foreach (XmlNode item in expirationTimeDeterminationNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        expirationTimeDeterminationIDRef = item.Attributes["id"].Name;
                        DeterminationMethod ob = DeterminationMethod();
                        IDManager.SetID(expirationTimeDeterminationIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        expirationTimeDeterminationIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        expirationTimeDetermination = new DeterminationMethod(item);
                    }
                }
            }


            XmlNodeList equityMultipleExerciseNodeList = xmlNode.SelectNodes("equityMultipleExercise");

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

            foreach (XmlNode item in equityMultipleExerciseNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        equityMultipleExerciseIDRef = item.Attributes["id"].Name;
                        EquityMultipleExercise ob = EquityMultipleExercise();
                        IDManager.SetID(equityMultipleExerciseIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        equityMultipleExerciseIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        equityMultipleExercise = new EquityMultipleExercise(item);
                    }
                }
            }
        }
 public TriggerEvent(XmlNode xmlNode)
 {
     XmlNodeList scheduleNodeList = xmlNode.SelectNodes("schedule");
     
     foreach (XmlNode item in scheduleNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 scheduleIDRef = item.Attributes["id"].Name;
                 List<AveragingSchedule> ob = new List<AveragingSchedule>();
                 ob.Add(new AveragingSchedule(item));
                 IDManager.SetID(scheduleIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 scheduleIDRef = item.Attributes["href"].Name;
             }
             else
             {
             schedule.Add(new AveragingSchedule(item));
             }
         }
     }
     
 
     XmlNodeList triggerDatesNodeList = xmlNode.SelectNodes("triggerDates");
     if (triggerDatesNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in triggerDatesNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 triggerDatesIDRef = item.Attributes["id"].Name;
                 DateList ob = DateList();
                 IDManager.SetID(triggerDatesIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 triggerDatesIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 triggerDates = new DateList(item);
             }
         }
     }
     
 
     XmlNodeList triggerNodeList = xmlNode.SelectNodes("trigger");
     if (triggerNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in triggerNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 triggerIDRef = item.Attributes["id"].Name;
                 Trigger ob = Trigger();
                 IDManager.SetID(triggerIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 triggerIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 trigger = new Trigger(item);
             }
         }
     }
     
 
     XmlNodeList featurePaymentNodeList = xmlNode.SelectNodes("featurePayment");
     if (featurePaymentNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in featurePaymentNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 featurePaymentIDRef = item.Attributes["id"].Name;
                 FeaturePayment ob = FeaturePayment();
                 IDManager.SetID(featurePaymentIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 featurePaymentIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 featurePayment = new FeaturePayment(item);
             }
         }
     }
     
 
 }