public AutoCallableSwapPayoff(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode recieveSwapPartNode = xmlNode.SelectSingleNode("recieveSwapPart");
     
     if (recieveSwapPartNode != null)
     {
         if (recieveSwapPartNode.Attributes["href"] != null || recieveSwapPartNode.Attributes["id"] != null) 
         {
             if (recieveSwapPartNode.Attributes["id"] != null) 
             {
                 recieveSwapPartIDRef_ = recieveSwapPartNode.Attributes["id"].Value;
                 RecieveSwapPart ob = new RecieveSwapPart(recieveSwapPartNode);
                 IDManager.SetID(recieveSwapPartIDRef_, ob);
             }
             else if (recieveSwapPartNode.Attributes["href"] != null)
             {
                 recieveSwapPartIDRef_ = recieveSwapPartNode.Attributes["href"].Value;
             }
             else
             {
                 recieveSwapPart_ = new RecieveSwapPart(recieveSwapPartNode);
             }
         }
         else
         {
             recieveSwapPart_ = new RecieveSwapPart(recieveSwapPartNode);
         }
     }
     
 
     XmlNode paySwapPartNode = xmlNode.SelectSingleNode("paySwapPart");
     
     if (paySwapPartNode != null)
     {
         if (paySwapPartNode.Attributes["href"] != null || paySwapPartNode.Attributes["id"] != null) 
         {
             if (paySwapPartNode.Attributes["id"] != null) 
             {
                 paySwapPartIDRef_ = paySwapPartNode.Attributes["id"].Value;
                 PaySwapPart ob = new PaySwapPart(paySwapPartNode);
                 IDManager.SetID(paySwapPartIDRef_, ob);
             }
             else if (paySwapPartNode.Attributes["href"] != null)
             {
                 paySwapPartIDRef_ = paySwapPartNode.Attributes["href"].Value;
             }
             else
             {
                 paySwapPart_ = new PaySwapPart(paySwapPartNode);
             }
         }
         else
         {
             paySwapPart_ = new PaySwapPart(paySwapPartNode);
         }
     }
     
 
 }
        public VanillaSwapPayoff(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode recieveSwapPartNode = xmlNode.SelectSingleNode("recieveSwapPart");

            if (recieveSwapPartNode != null)
            {
                if (recieveSwapPartNode.Attributes["href"] != null || recieveSwapPartNode.Attributes["id"] != null)
                {
                    if (recieveSwapPartNode.Attributes["id"] != null)
                    {
                        recieveSwapPartIDRef_ = recieveSwapPartNode.Attributes["id"].Value;
                        RecieveSwapPart ob = new RecieveSwapPart(recieveSwapPartNode);
                        IDManager.SetID(recieveSwapPartIDRef_, ob);
                    }
                    else if (recieveSwapPartNode.Attributes["href"] != null)
                    {
                        recieveSwapPartIDRef_ = recieveSwapPartNode.Attributes["href"].Value;
                    }
                    else
                    {
                        recieveSwapPart_ = new RecieveSwapPart(recieveSwapPartNode);
                    }
                }
                else
                {
                    recieveSwapPart_ = new RecieveSwapPart(recieveSwapPartNode);
                }
            }


            XmlNode paySwapPartNode = xmlNode.SelectSingleNode("paySwapPart");

            if (paySwapPartNode != null)
            {
                if (paySwapPartNode.Attributes["href"] != null || paySwapPartNode.Attributes["id"] != null)
                {
                    if (paySwapPartNode.Attributes["id"] != null)
                    {
                        paySwapPartIDRef_ = paySwapPartNode.Attributes["id"].Value;
                        PaySwapPart ob = new PaySwapPart(paySwapPartNode);
                        IDManager.SetID(paySwapPartIDRef_, ob);
                    }
                    else if (paySwapPartNode.Attributes["href"] != null)
                    {
                        paySwapPartIDRef_ = paySwapPartNode.Attributes["href"].Value;
                    }
                    else
                    {
                        paySwapPart_ = new PaySwapPart(paySwapPartNode);
                    }
                }
                else
                {
                    paySwapPart_ = new PaySwapPart(paySwapPartNode);
                }
            }
        }