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 EquityAmericanExercise(XmlNode xmlNode)
            : base(xmlNode)
        {
            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 EquityAmericanExercise(XmlNode xmlNode)
 : base(xmlNode)
 {
     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);
             }
         }
     }
     
 
 }