public Excel_multiAsset_compositeOption_subtype(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_multiAsset_vanillaCallPutNode = xmlNode.SelectSingleNode("excel_multiAsset_vanillaCallPut");
     
     if (excel_multiAsset_vanillaCallPutNode != null)
     {
         if (excel_multiAsset_vanillaCallPutNode.Attributes["href"] != null || excel_multiAsset_vanillaCallPutNode.Attributes["id"] != null) 
         {
             if (excel_multiAsset_vanillaCallPutNode.Attributes["id"] != null) 
             {
                 excel_multiAsset_vanillaCallPutIDRef_ = excel_multiAsset_vanillaCallPutNode.Attributes["id"].Value;
                 Excel_multiAsset_vanillaCallPut ob = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
                 IDManager.SetID(excel_multiAsset_vanillaCallPutIDRef_, ob);
             }
             else if (excel_multiAsset_vanillaCallPutNode.Attributes["href"] != null)
             {
                 excel_multiAsset_vanillaCallPutIDRef_ = excel_multiAsset_vanillaCallPutNode.Attributes["href"].Value;
             }
             else
             {
                 excel_multiAsset_vanillaCallPut_ = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
             }
         }
         else
         {
             excel_multiAsset_vanillaCallPut_ = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
         }
     }
     
 
     XmlNode excel_multiAsset_upInOutCallNode = xmlNode.SelectSingleNode("excel_multiAsset_upInOutCall");
     
     if (excel_multiAsset_upInOutCallNode != null)
     {
         if (excel_multiAsset_upInOutCallNode.Attributes["href"] != null || excel_multiAsset_upInOutCallNode.Attributes["id"] != null) 
         {
             if (excel_multiAsset_upInOutCallNode.Attributes["id"] != null) 
             {
                 excel_multiAsset_upInOutCallIDRef_ = excel_multiAsset_upInOutCallNode.Attributes["id"].Value;
                 Excel_multiAsset_upInOutCall ob = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
                 IDManager.SetID(excel_multiAsset_upInOutCallIDRef_, ob);
             }
             else if (excel_multiAsset_upInOutCallNode.Attributes["href"] != null)
             {
                 excel_multiAsset_upInOutCallIDRef_ = excel_multiAsset_upInOutCallNode.Attributes["href"].Value;
             }
             else
             {
                 excel_multiAsset_upInOutCall_ = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
             }
         }
         else
         {
             excel_multiAsset_upInOutCall_ = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
         }
     }
     
 
     XmlNode excel_multiAsset_downInOutPutNode = xmlNode.SelectSingleNode("excel_multiAsset_downInOutPut");
     
     if (excel_multiAsset_downInOutPutNode != null)
     {
         if (excel_multiAsset_downInOutPutNode.Attributes["href"] != null || excel_multiAsset_downInOutPutNode.Attributes["id"] != null) 
         {
             if (excel_multiAsset_downInOutPutNode.Attributes["id"] != null) 
             {
                 excel_multiAsset_downInOutPutIDRef_ = excel_multiAsset_downInOutPutNode.Attributes["id"].Value;
                 Excel_multiAsset_downInOutPut ob = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
                 IDManager.SetID(excel_multiAsset_downInOutPutIDRef_, ob);
             }
             else if (excel_multiAsset_downInOutPutNode.Attributes["href"] != null)
             {
                 excel_multiAsset_downInOutPutIDRef_ = excel_multiAsset_downInOutPutNode.Attributes["href"].Value;
             }
             else
             {
                 excel_multiAsset_downInOutPut_ = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
             }
         }
         else
         {
             excel_multiAsset_downInOutPut_ = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
         }
     }
     
 
     XmlNode excel_multiAsset_digitalCallPutNode = xmlNode.SelectSingleNode("excel_multiAsset_digitalCallPut");
     
     if (excel_multiAsset_digitalCallPutNode != null)
     {
         if (excel_multiAsset_digitalCallPutNode.Attributes["href"] != null || excel_multiAsset_digitalCallPutNode.Attributes["id"] != null) 
         {
             if (excel_multiAsset_digitalCallPutNode.Attributes["id"] != null) 
             {
                 excel_multiAsset_digitalCallPutIDRef_ = excel_multiAsset_digitalCallPutNode.Attributes["id"].Value;
                 Excel_multiAsset_digitalCallPut ob = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
                 IDManager.SetID(excel_multiAsset_digitalCallPutIDRef_, ob);
             }
             else if (excel_multiAsset_digitalCallPutNode.Attributes["href"] != null)
             {
                 excel_multiAsset_digitalCallPutIDRef_ = excel_multiAsset_digitalCallPutNode.Attributes["href"].Value;
             }
             else
             {
                 excel_multiAsset_digitalCallPut_ = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
             }
         }
         else
         {
             excel_multiAsset_digitalCallPut_ = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
         }
     }
     
 
 }
        public Excel_multiAsset_compositeOption_subtype(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_multiAsset_vanillaCallPutNode = xmlNode.SelectSingleNode("excel_multiAsset_vanillaCallPut");

            if (excel_multiAsset_vanillaCallPutNode != null)
            {
                if (excel_multiAsset_vanillaCallPutNode.Attributes["href"] != null || excel_multiAsset_vanillaCallPutNode.Attributes["id"] != null)
                {
                    if (excel_multiAsset_vanillaCallPutNode.Attributes["id"] != null)
                    {
                        excel_multiAsset_vanillaCallPutIDRef_ = excel_multiAsset_vanillaCallPutNode.Attributes["id"].Value;
                        Excel_multiAsset_vanillaCallPut ob = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
                        IDManager.SetID(excel_multiAsset_vanillaCallPutIDRef_, ob);
                    }
                    else if (excel_multiAsset_vanillaCallPutNode.Attributes["href"] != null)
                    {
                        excel_multiAsset_vanillaCallPutIDRef_ = excel_multiAsset_vanillaCallPutNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_multiAsset_vanillaCallPut_ = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
                    }
                }
                else
                {
                    excel_multiAsset_vanillaCallPut_ = new Excel_multiAsset_vanillaCallPut(excel_multiAsset_vanillaCallPutNode);
                }
            }


            XmlNode excel_multiAsset_upInOutCallNode = xmlNode.SelectSingleNode("excel_multiAsset_upInOutCall");

            if (excel_multiAsset_upInOutCallNode != null)
            {
                if (excel_multiAsset_upInOutCallNode.Attributes["href"] != null || excel_multiAsset_upInOutCallNode.Attributes["id"] != null)
                {
                    if (excel_multiAsset_upInOutCallNode.Attributes["id"] != null)
                    {
                        excel_multiAsset_upInOutCallIDRef_ = excel_multiAsset_upInOutCallNode.Attributes["id"].Value;
                        Excel_multiAsset_upInOutCall ob = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
                        IDManager.SetID(excel_multiAsset_upInOutCallIDRef_, ob);
                    }
                    else if (excel_multiAsset_upInOutCallNode.Attributes["href"] != null)
                    {
                        excel_multiAsset_upInOutCallIDRef_ = excel_multiAsset_upInOutCallNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_multiAsset_upInOutCall_ = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
                    }
                }
                else
                {
                    excel_multiAsset_upInOutCall_ = new Excel_multiAsset_upInOutCall(excel_multiAsset_upInOutCallNode);
                }
            }


            XmlNode excel_multiAsset_downInOutPutNode = xmlNode.SelectSingleNode("excel_multiAsset_downInOutPut");

            if (excel_multiAsset_downInOutPutNode != null)
            {
                if (excel_multiAsset_downInOutPutNode.Attributes["href"] != null || excel_multiAsset_downInOutPutNode.Attributes["id"] != null)
                {
                    if (excel_multiAsset_downInOutPutNode.Attributes["id"] != null)
                    {
                        excel_multiAsset_downInOutPutIDRef_ = excel_multiAsset_downInOutPutNode.Attributes["id"].Value;
                        Excel_multiAsset_downInOutPut ob = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
                        IDManager.SetID(excel_multiAsset_downInOutPutIDRef_, ob);
                    }
                    else if (excel_multiAsset_downInOutPutNode.Attributes["href"] != null)
                    {
                        excel_multiAsset_downInOutPutIDRef_ = excel_multiAsset_downInOutPutNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_multiAsset_downInOutPut_ = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
                    }
                }
                else
                {
                    excel_multiAsset_downInOutPut_ = new Excel_multiAsset_downInOutPut(excel_multiAsset_downInOutPutNode);
                }
            }


            XmlNode excel_multiAsset_digitalCallPutNode = xmlNode.SelectSingleNode("excel_multiAsset_digitalCallPut");

            if (excel_multiAsset_digitalCallPutNode != null)
            {
                if (excel_multiAsset_digitalCallPutNode.Attributes["href"] != null || excel_multiAsset_digitalCallPutNode.Attributes["id"] != null)
                {
                    if (excel_multiAsset_digitalCallPutNode.Attributes["id"] != null)
                    {
                        excel_multiAsset_digitalCallPutIDRef_ = excel_multiAsset_digitalCallPutNode.Attributes["id"].Value;
                        Excel_multiAsset_digitalCallPut ob = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
                        IDManager.SetID(excel_multiAsset_digitalCallPutIDRef_, ob);
                    }
                    else if (excel_multiAsset_digitalCallPutNode.Attributes["href"] != null)
                    {
                        excel_multiAsset_digitalCallPutIDRef_ = excel_multiAsset_digitalCallPutNode.Attributes["href"].Value;
                    }
                    else
                    {
                        excel_multiAsset_digitalCallPut_ = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
                    }
                }
                else
                {
                    excel_multiAsset_digitalCallPut_ = new Excel_multiAsset_digitalCallPut(excel_multiAsset_digitalCallPutNode);
                }
            }
        }