public Excel_underlyingModel_para(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode excel_typeNode = xmlNode.SelectSingleNode("excel_type");
     
     if (excel_typeNode != null)
     {
         if (excel_typeNode.Attributes["href"] != null || excel_typeNode.Attributes["id"] != null) 
         {
             if (excel_typeNode.Attributes["id"] != null) 
             {
                 excel_typeIDRef_ = excel_typeNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(excel_typeNode);
                 IDManager.SetID(excel_typeIDRef_, ob);
             }
             else if (excel_typeNode.Attributes["href"] != null)
             {
                 excel_typeIDRef_ = excel_typeNode.Attributes["href"].Value;
             }
             else
             {
                 excel_type_ = new XsdTypeToken(excel_typeNode);
             }
         }
         else
         {
             excel_type_ = new XsdTypeToken(excel_typeNode);
         }
     }
     
 
     XmlNode excel_geometricBMNode = xmlNode.SelectSingleNode("excel_geometricBM");
     
     if (excel_geometricBMNode != null)
     {
         if (excel_geometricBMNode.Attributes["href"] != null || excel_geometricBMNode.Attributes["id"] != null) 
         {
             if (excel_geometricBMNode.Attributes["id"] != null) 
             {
                 excel_geometricBMIDRef_ = excel_geometricBMNode.Attributes["id"].Value;
                 Excel_geometricBM ob = new Excel_geometricBM(excel_geometricBMNode);
                 IDManager.SetID(excel_geometricBMIDRef_, ob);
             }
             else if (excel_geometricBMNode.Attributes["href"] != null)
             {
                 excel_geometricBMIDRef_ = excel_geometricBMNode.Attributes["href"].Value;
             }
             else
             {
                 excel_geometricBM_ = new Excel_geometricBM(excel_geometricBMNode);
             }
         }
         else
         {
             excel_geometricBM_ = new Excel_geometricBM(excel_geometricBMNode);
         }
     }
     
 
     XmlNode excel_hullWhiteOneFactorNode = xmlNode.SelectSingleNode("excel_hullWhiteOneFactor");
     
     if (excel_hullWhiteOneFactorNode != null)
     {
         if (excel_hullWhiteOneFactorNode.Attributes["href"] != null || excel_hullWhiteOneFactorNode.Attributes["id"] != null) 
         {
             if (excel_hullWhiteOneFactorNode.Attributes["id"] != null) 
             {
                 excel_hullWhiteOneFactorIDRef_ = excel_hullWhiteOneFactorNode.Attributes["id"].Value;
                 Excel_hullWhiteOneFactor ob = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
                 IDManager.SetID(excel_hullWhiteOneFactorIDRef_, ob);
             }
             else if (excel_hullWhiteOneFactorNode.Attributes["href"] != null)
             {
                 excel_hullWhiteOneFactorIDRef_ = excel_hullWhiteOneFactorNode.Attributes["href"].Value;
             }
             else
             {
                 excel_hullWhiteOneFactor_ = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
             }
         }
         else
         {
             excel_hullWhiteOneFactor_ = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
         }
     }
     
 
     XmlNode excel_hullWhiteTwoFactorNode = xmlNode.SelectSingleNode("excel_hullWhiteTwoFactor");
     
     if (excel_hullWhiteTwoFactorNode != null)
     {
         if (excel_hullWhiteTwoFactorNode.Attributes["href"] != null || excel_hullWhiteTwoFactorNode.Attributes["id"] != null) 
         {
             if (excel_hullWhiteTwoFactorNode.Attributes["id"] != null) 
             {
                 excel_hullWhiteTwoFactorIDRef_ = excel_hullWhiteTwoFactorNode.Attributes["id"].Value;
                 Excel_hullWhiteTwoFactor ob = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
                 IDManager.SetID(excel_hullWhiteTwoFactorIDRef_, ob);
             }
             else if (excel_hullWhiteTwoFactorNode.Attributes["href"] != null)
             {
                 excel_hullWhiteTwoFactorIDRef_ = excel_hullWhiteTwoFactorNode.Attributes["href"].Value;
             }
             else
             {
                 excel_hullWhiteTwoFactor_ = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
             }
         }
         else
         {
             excel_hullWhiteTwoFactor_ = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
         }
     }
     
 
     XmlNode excel_forwardModelNode = xmlNode.SelectSingleNode("excel_forwardModel");
     
     if (excel_forwardModelNode != null)
     {
         if (excel_forwardModelNode.Attributes["href"] != null || excel_forwardModelNode.Attributes["id"] != null) 
         {
             if (excel_forwardModelNode.Attributes["id"] != null) 
             {
                 excel_forwardModelIDRef_ = excel_forwardModelNode.Attributes["id"].Value;
                 Excel_forwardModel ob = new Excel_forwardModel(excel_forwardModelNode);
                 IDManager.SetID(excel_forwardModelIDRef_, ob);
             }
             else if (excel_forwardModelNode.Attributes["href"] != null)
             {
                 excel_forwardModelIDRef_ = excel_forwardModelNode.Attributes["href"].Value;
             }
             else
             {
                 excel_forwardModel_ = new Excel_forwardModel(excel_forwardModelNode);
             }
         }
         else
         {
             excel_forwardModel_ = new Excel_forwardModel(excel_forwardModelNode);
         }
     }
     
 
     XmlNode excel_hestonModelNode = xmlNode.SelectSingleNode("excel_hestonModel");
     
     if (excel_hestonModelNode != null)
     {
         if (excel_hestonModelNode.Attributes["href"] != null || excel_hestonModelNode.Attributes["id"] != null) 
         {
             if (excel_hestonModelNode.Attributes["id"] != null) 
             {
                 excel_hestonModelIDRef_ = excel_hestonModelNode.Attributes["id"].Value;
                 Excel_hestonModel ob = new Excel_hestonModel(excel_hestonModelNode);
                 IDManager.SetID(excel_hestonModelIDRef_, ob);
             }
             else if (excel_hestonModelNode.Attributes["href"] != null)
             {
                 excel_hestonModelIDRef_ = excel_hestonModelNode.Attributes["href"].Value;
             }
             else
             {
                 excel_hestonModel_ = new Excel_hestonModel(excel_hestonModelNode);
             }
         }
         else
         {
             excel_hestonModel_ = new Excel_hestonModel(excel_hestonModelNode);
         }
     }
     
 
     XmlNode excel_geometricBM_LocalVolNode = xmlNode.SelectSingleNode("excel_geometricBM_LocalVol");
     
     if (excel_geometricBM_LocalVolNode != null)
     {
         if (excel_geometricBM_LocalVolNode.Attributes["href"] != null || excel_geometricBM_LocalVolNode.Attributes["id"] != null) 
         {
             if (excel_geometricBM_LocalVolNode.Attributes["id"] != null) 
             {
                 excel_geometricBM_LocalVolIDRef_ = excel_geometricBM_LocalVolNode.Attributes["id"].Value;
                 Excel_geometricBM_LocalVol ob = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
                 IDManager.SetID(excel_geometricBM_LocalVolIDRef_, ob);
             }
             else if (excel_geometricBM_LocalVolNode.Attributes["href"] != null)
             {
                 excel_geometricBM_LocalVolIDRef_ = excel_geometricBM_LocalVolNode.Attributes["href"].Value;
             }
             else
             {
                 excel_geometricBM_LocalVol_ = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
             }
         }
         else
         {
             excel_geometricBM_LocalVol_ = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
         }
     }
     
 
 }
        public Excel_underlyingModel_para(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode excel_typeNode = xmlNode.SelectSingleNode("excel_type");

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


            XmlNode excel_geometricBMNode = xmlNode.SelectSingleNode("excel_geometricBM");

            if (excel_geometricBMNode != null)
            {
                if (excel_geometricBMNode.Attributes["href"] != null || excel_geometricBMNode.Attributes["id"] != null)
                {
                    if (excel_geometricBMNode.Attributes["id"] != null)
                    {
                        excel_geometricBMIDRef_ = excel_geometricBMNode.Attributes["id"].Value;
                        Excel_geometricBM ob = new Excel_geometricBM(excel_geometricBMNode);
                        IDManager.SetID(excel_geometricBMIDRef_, ob);
                    }
                    else if (excel_geometricBMNode.Attributes["href"] != null)
                    {
                        excel_geometricBMIDRef_ = excel_geometricBMNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_geometricBM_ = new Excel_geometricBM(excel_geometricBMNode);
                    }
                }
                else
                {
                    excel_geometricBM_ = new Excel_geometricBM(excel_geometricBMNode);
                }
            }


            XmlNode excel_hullWhiteOneFactorNode = xmlNode.SelectSingleNode("excel_hullWhiteOneFactor");

            if (excel_hullWhiteOneFactorNode != null)
            {
                if (excel_hullWhiteOneFactorNode.Attributes["href"] != null || excel_hullWhiteOneFactorNode.Attributes["id"] != null)
                {
                    if (excel_hullWhiteOneFactorNode.Attributes["id"] != null)
                    {
                        excel_hullWhiteOneFactorIDRef_ = excel_hullWhiteOneFactorNode.Attributes["id"].Value;
                        Excel_hullWhiteOneFactor ob = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
                        IDManager.SetID(excel_hullWhiteOneFactorIDRef_, ob);
                    }
                    else if (excel_hullWhiteOneFactorNode.Attributes["href"] != null)
                    {
                        excel_hullWhiteOneFactorIDRef_ = excel_hullWhiteOneFactorNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_hullWhiteOneFactor_ = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
                    }
                }
                else
                {
                    excel_hullWhiteOneFactor_ = new Excel_hullWhiteOneFactor(excel_hullWhiteOneFactorNode);
                }
            }


            XmlNode excel_hullWhiteTwoFactorNode = xmlNode.SelectSingleNode("excel_hullWhiteTwoFactor");

            if (excel_hullWhiteTwoFactorNode != null)
            {
                if (excel_hullWhiteTwoFactorNode.Attributes["href"] != null || excel_hullWhiteTwoFactorNode.Attributes["id"] != null)
                {
                    if (excel_hullWhiteTwoFactorNode.Attributes["id"] != null)
                    {
                        excel_hullWhiteTwoFactorIDRef_ = excel_hullWhiteTwoFactorNode.Attributes["id"].Value;
                        Excel_hullWhiteTwoFactor ob = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
                        IDManager.SetID(excel_hullWhiteTwoFactorIDRef_, ob);
                    }
                    else if (excel_hullWhiteTwoFactorNode.Attributes["href"] != null)
                    {
                        excel_hullWhiteTwoFactorIDRef_ = excel_hullWhiteTwoFactorNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_hullWhiteTwoFactor_ = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
                    }
                }
                else
                {
                    excel_hullWhiteTwoFactor_ = new Excel_hullWhiteTwoFactor(excel_hullWhiteTwoFactorNode);
                }
            }


            XmlNode excel_forwardModelNode = xmlNode.SelectSingleNode("excel_forwardModel");

            if (excel_forwardModelNode != null)
            {
                if (excel_forwardModelNode.Attributes["href"] != null || excel_forwardModelNode.Attributes["id"] != null)
                {
                    if (excel_forwardModelNode.Attributes["id"] != null)
                    {
                        excel_forwardModelIDRef_ = excel_forwardModelNode.Attributes["id"].Value;
                        Excel_forwardModel ob = new Excel_forwardModel(excel_forwardModelNode);
                        IDManager.SetID(excel_forwardModelIDRef_, ob);
                    }
                    else if (excel_forwardModelNode.Attributes["href"] != null)
                    {
                        excel_forwardModelIDRef_ = excel_forwardModelNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_forwardModel_ = new Excel_forwardModel(excel_forwardModelNode);
                    }
                }
                else
                {
                    excel_forwardModel_ = new Excel_forwardModel(excel_forwardModelNode);
                }
            }


            XmlNode excel_hestonModelNode = xmlNode.SelectSingleNode("excel_hestonModel");

            if (excel_hestonModelNode != null)
            {
                if (excel_hestonModelNode.Attributes["href"] != null || excel_hestonModelNode.Attributes["id"] != null)
                {
                    if (excel_hestonModelNode.Attributes["id"] != null)
                    {
                        excel_hestonModelIDRef_ = excel_hestonModelNode.Attributes["id"].Value;
                        Excel_hestonModel ob = new Excel_hestonModel(excel_hestonModelNode);
                        IDManager.SetID(excel_hestonModelIDRef_, ob);
                    }
                    else if (excel_hestonModelNode.Attributes["href"] != null)
                    {
                        excel_hestonModelIDRef_ = excel_hestonModelNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_hestonModel_ = new Excel_hestonModel(excel_hestonModelNode);
                    }
                }
                else
                {
                    excel_hestonModel_ = new Excel_hestonModel(excel_hestonModelNode);
                }
            }


            XmlNode excel_geometricBM_LocalVolNode = xmlNode.SelectSingleNode("excel_geometricBM_LocalVol");

            if (excel_geometricBM_LocalVolNode != null)
            {
                if (excel_geometricBM_LocalVolNode.Attributes["href"] != null || excel_geometricBM_LocalVolNode.Attributes["id"] != null)
                {
                    if (excel_geometricBM_LocalVolNode.Attributes["id"] != null)
                    {
                        excel_geometricBM_LocalVolIDRef_ = excel_geometricBM_LocalVolNode.Attributes["id"].Value;
                        Excel_geometricBM_LocalVol ob = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
                        IDManager.SetID(excel_geometricBM_LocalVolIDRef_, ob);
                    }
                    else if (excel_geometricBM_LocalVolNode.Attributes["href"] != null)
                    {
                        excel_geometricBM_LocalVolIDRef_ = excel_geometricBM_LocalVolNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_geometricBM_LocalVol_ = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
                    }
                }
                else
                {
                    excel_geometricBM_LocalVol_ = new Excel_geometricBM_LocalVol(excel_geometricBM_LocalVolNode);
                }
            }
        }