public IRCalculation(XmlNode xmlNode)
            : base(xmlNode)
        {
            XmlNode paymentDatesNode = xmlNode.SelectSingleNode("paymentDates");

            if (paymentDatesNode != null)
            {
                if (paymentDatesNode.Attributes["href"] != null || paymentDatesNode.Attributes["id"] != null)
                {
                    if (paymentDatesNode.Attributes["id"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["id"].Value;
                        SchduleGen ob = new SchduleGen(paymentDatesNode);
                        IDManager.SetID(paymentDatesIDRef_, ob);
                    }
                    else if (paymentDatesNode.Attributes["href"] != null)
                    {
                        paymentDatesIDRef_ = paymentDatesNode.Attributes["href"].Value;
                    }
                    else
                    {
                        paymentDates_ = new SchduleGen(paymentDatesNode);
                    }
                }
                else
                {
                    paymentDates_ = new SchduleGen(paymentDatesNode);
                }
            }


            XmlNode fixedRateNode = xmlNode.SelectSingleNode("fixedRate");

            if (fixedRateNode != null)
            {
                if (fixedRateNode.Attributes["href"] != null || fixedRateNode.Attributes["id"] != null)
                {
                    if (fixedRateNode.Attributes["id"] != null)
                    {
                        fixedRateIDRef_ = fixedRateNode.Attributes["id"].Value;
                        FixedRate ob = new FixedRate(fixedRateNode);
                        IDManager.SetID(fixedRateIDRef_, ob);
                    }
                    else if (fixedRateNode.Attributes["href"] != null)
                    {
                        fixedRateIDRef_ = fixedRateNode.Attributes["href"].Value;
                    }
                    else
                    {
                        fixedRate_ = new FixedRate(fixedRateNode);
                    }
                }
                else
                {
                    fixedRate_ = new FixedRate(fixedRateNode);
                }
            }


            XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction");

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


            XmlNode inArrearNode = xmlNode.SelectSingleNode("inArrear");

            if (inArrearNode != null)
            {
                if (inArrearNode.Attributes["href"] != null || inArrearNode.Attributes["id"] != null)
                {
                    if (inArrearNode.Attributes["id"] != null)
                    {
                        inArrearIDRef_ = inArrearNode.Attributes["id"].Value;
                        XsdTypeBoolean ob = new XsdTypeBoolean(inArrearNode);
                        IDManager.SetID(inArrearIDRef_, ob);
                    }
                    else if (inArrearNode.Attributes["href"] != null)
                    {
                        inArrearIDRef_ = inArrearNode.Attributes["href"].Value;
                    }
                    else
                    {
                        inArrear_ = new XsdTypeBoolean(inArrearNode);
                    }
                }
                else
                {
                    inArrear_ = new XsdTypeBoolean(inArrearNode);
                }
            }
        }
 public IRCalculation(XmlNode xmlNode)
 : base(xmlNode)
 {
     XmlNode paymentDatesNode = xmlNode.SelectSingleNode("paymentDates");
     
     if (paymentDatesNode != null)
     {
         if (paymentDatesNode.Attributes["href"] != null || paymentDatesNode.Attributes["id"] != null) 
         {
             if (paymentDatesNode.Attributes["id"] != null) 
             {
                 paymentDatesIDRef_ = paymentDatesNode.Attributes["id"].Value;
                 SchduleGen ob = new SchduleGen(paymentDatesNode);
                 IDManager.SetID(paymentDatesIDRef_, ob);
             }
             else if (paymentDatesNode.Attributes["href"] != null)
             {
                 paymentDatesIDRef_ = paymentDatesNode.Attributes["href"].Value;
             }
             else
             {
                 paymentDates_ = new SchduleGen(paymentDatesNode);
             }
         }
         else
         {
             paymentDates_ = new SchduleGen(paymentDatesNode);
         }
     }
     
 
     XmlNode fixedRateNode = xmlNode.SelectSingleNode("fixedRate");
     
     if (fixedRateNode != null)
     {
         if (fixedRateNode.Attributes["href"] != null || fixedRateNode.Attributes["id"] != null) 
         {
             if (fixedRateNode.Attributes["id"] != null) 
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["id"].Value;
                 FixedRate ob = new FixedRate(fixedRateNode);
                 IDManager.SetID(fixedRateIDRef_, ob);
             }
             else if (fixedRateNode.Attributes["href"] != null)
             {
                 fixedRateIDRef_ = fixedRateNode.Attributes["href"].Value;
             }
             else
             {
                 fixedRate_ = new FixedRate(fixedRateNode);
             }
         }
         else
         {
             fixedRate_ = new FixedRate(fixedRateNode);
         }
     }
     
 
     XmlNode dayCountFractionNode = xmlNode.SelectSingleNode("dayCountFraction");
     
     if (dayCountFractionNode != null)
     {
         if (dayCountFractionNode.Attributes["href"] != null || dayCountFractionNode.Attributes["id"] != null) 
         {
             if (dayCountFractionNode.Attributes["id"] != null) 
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["id"].Value;
                 XsdTypeToken ob = new XsdTypeToken(dayCountFractionNode);
                 IDManager.SetID(dayCountFractionIDRef_, ob);
             }
             else if (dayCountFractionNode.Attributes["href"] != null)
             {
                 dayCountFractionIDRef_ = dayCountFractionNode.Attributes["href"].Value;
             }
             else
             {
                 dayCountFraction_ = new XsdTypeToken(dayCountFractionNode);
             }
         }
         else
         {
             dayCountFraction_ = new XsdTypeToken(dayCountFractionNode);
         }
     }
     
 
     XmlNode inArrearNode = xmlNode.SelectSingleNode("inArrear");
     
     if (inArrearNode != null)
     {
         if (inArrearNode.Attributes["href"] != null || inArrearNode.Attributes["id"] != null) 
         {
             if (inArrearNode.Attributes["id"] != null) 
             {
                 inArrearIDRef_ = inArrearNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(inArrearNode);
                 IDManager.SetID(inArrearIDRef_, ob);
             }
             else if (inArrearNode.Attributes["href"] != null)
             {
                 inArrearIDRef_ = inArrearNode.Attributes["href"].Value;
             }
             else
             {
                 inArrear_ = new XsdTypeBoolean(inArrearNode);
             }
         }
         else
         {
             inArrear_ = new XsdTypeBoolean(inArrearNode);
         }
     }
     
 
 }