public FloatingAmountEvents(XmlNode xmlNode)
        {
            XmlNodeList failureToPayPrincipalNodeList = xmlNode.SelectNodes("failureToPayPrincipal");

            if (failureToPayPrincipalNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in failureToPayPrincipalNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        failureToPayPrincipalIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(failureToPayPrincipalIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        failureToPayPrincipalIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        failureToPayPrincipal = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList interestShortfallNodeList = xmlNode.SelectNodes("interestShortfall");

            if (interestShortfallNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in interestShortfallNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        interestShortfallIDRef = item.Attributes["id"].Name;
                        InterestShortFall ob = InterestShortFall();
                        IDManager.SetID(interestShortfallIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        interestShortfallIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        interestShortfall = new InterestShortFall(item);
                    }
                }
            }


            XmlNodeList writedownNodeList = xmlNode.SelectNodes("writedown");

            if (writedownNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in writedownNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        writedownIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(writedownIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        writedownIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        writedown = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList impliedWritedownNodeList = xmlNode.SelectNodes("impliedWritedown");

            if (impliedWritedownNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in impliedWritedownNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        impliedWritedownIDRef = item.Attributes["id"].Name;
                        XsdTypeBoolean ob = XsdTypeBoolean();
                        IDManager.SetID(impliedWritedownIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        impliedWritedownIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        impliedWritedown = new XsdTypeBoolean(item);
                    }
                }
            }


            XmlNodeList floatingAmountProvisionsNodeList = xmlNode.SelectNodes("floatingAmountProvisions");

            if (floatingAmountProvisionsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in floatingAmountProvisionsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        floatingAmountProvisionsIDRef = item.Attributes["id"].Name;
                        FloatingAmountProvisions ob = FloatingAmountProvisions();
                        IDManager.SetID(floatingAmountProvisionsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        floatingAmountProvisionsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        floatingAmountProvisions = new FloatingAmountProvisions(item);
                    }
                }
            }


            XmlNodeList additionalFixedPaymentsNodeList = xmlNode.SelectNodes("additionalFixedPayments");

            if (additionalFixedPaymentsNodeList.Count > 1)
            {
                throw new Exception();
            }

            foreach (XmlNode item in additionalFixedPaymentsNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        additionalFixedPaymentsIDRef = item.Attributes["id"].Name;
                        AdditionalFixedPayments ob = AdditionalFixedPayments();
                        IDManager.SetID(additionalFixedPaymentsIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        additionalFixedPaymentsIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        additionalFixedPayments = new AdditionalFixedPayments(item);
                    }
                }
            }
        }
 public FloatingAmountEvents(XmlNode xmlNode)
 {
     XmlNodeList failureToPayPrincipalNodeList = xmlNode.SelectNodes("failureToPayPrincipal");
     if (failureToPayPrincipalNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in failureToPayPrincipalNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 failureToPayPrincipalIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(failureToPayPrincipalIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 failureToPayPrincipalIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 failureToPayPrincipal = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList interestShortfallNodeList = xmlNode.SelectNodes("interestShortfall");
     if (interestShortfallNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in interestShortfallNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 interestShortfallIDRef = item.Attributes["id"].Name;
                 InterestShortFall ob = InterestShortFall();
                 IDManager.SetID(interestShortfallIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 interestShortfallIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 interestShortfall = new InterestShortFall(item);
             }
         }
     }
     
 
     XmlNodeList writedownNodeList = xmlNode.SelectNodes("writedown");
     if (writedownNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in writedownNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 writedownIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(writedownIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 writedownIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 writedown = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList impliedWritedownNodeList = xmlNode.SelectNodes("impliedWritedown");
     if (impliedWritedownNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in impliedWritedownNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 impliedWritedownIDRef = item.Attributes["id"].Name;
                 XsdTypeBoolean ob = XsdTypeBoolean();
                 IDManager.SetID(impliedWritedownIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 impliedWritedownIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 impliedWritedown = new XsdTypeBoolean(item);
             }
         }
     }
     
 
     XmlNodeList floatingAmountProvisionsNodeList = xmlNode.SelectNodes("floatingAmountProvisions");
     if (floatingAmountProvisionsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in floatingAmountProvisionsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 floatingAmountProvisionsIDRef = item.Attributes["id"].Name;
                 FloatingAmountProvisions ob = FloatingAmountProvisions();
                 IDManager.SetID(floatingAmountProvisionsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 floatingAmountProvisionsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 floatingAmountProvisions = new FloatingAmountProvisions(item);
             }
         }
     }
     
 
     XmlNodeList additionalFixedPaymentsNodeList = xmlNode.SelectNodes("additionalFixedPayments");
     if (additionalFixedPaymentsNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in additionalFixedPaymentsNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 additionalFixedPaymentsIDRef = item.Attributes["id"].Name;
                 AdditionalFixedPayments ob = AdditionalFixedPayments();
                 IDManager.SetID(additionalFixedPaymentsIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 additionalFixedPaymentsIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 additionalFixedPayments = new AdditionalFixedPayments(item);
             }
         }
     }
     
 
 }
 public FloatingAmountEvents(XmlNode xmlNode)
 {
     XmlNode failureToPayPrincipalNode = xmlNode.SelectSingleNode("failureToPayPrincipal");
     
     if (failureToPayPrincipalNode != null)
     {
         if (failureToPayPrincipalNode.Attributes["href"] != null || failureToPayPrincipalNode.Attributes["id"] != null) 
         {
             if (failureToPayPrincipalNode.Attributes["id"] != null) 
             {
                 failureToPayPrincipalIDRef_ = failureToPayPrincipalNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(failureToPayPrincipalNode);
                 IDManager.SetID(failureToPayPrincipalIDRef_, ob);
             }
             else if (failureToPayPrincipalNode.Attributes["href"] != null)
             {
                 failureToPayPrincipalIDRef_ = failureToPayPrincipalNode.Attributes["href"].Value;
             }
             else
             {
                 failureToPayPrincipal_ = new XsdTypeBoolean(failureToPayPrincipalNode);
             }
         }
         else
         {
             failureToPayPrincipal_ = new XsdTypeBoolean(failureToPayPrincipalNode);
         }
     }
     
 
     XmlNode interestShortfallNode = xmlNode.SelectSingleNode("interestShortfall");
     
     if (interestShortfallNode != null)
     {
         if (interestShortfallNode.Attributes["href"] != null || interestShortfallNode.Attributes["id"] != null) 
         {
             if (interestShortfallNode.Attributes["id"] != null) 
             {
                 interestShortfallIDRef_ = interestShortfallNode.Attributes["id"].Value;
                 InterestShortFall ob = new InterestShortFall(interestShortfallNode);
                 IDManager.SetID(interestShortfallIDRef_, ob);
             }
             else if (interestShortfallNode.Attributes["href"] != null)
             {
                 interestShortfallIDRef_ = interestShortfallNode.Attributes["href"].Value;
             }
             else
             {
                 interestShortfall_ = new InterestShortFall(interestShortfallNode);
             }
         }
         else
         {
             interestShortfall_ = new InterestShortFall(interestShortfallNode);
         }
     }
     
 
     XmlNode writedownNode = xmlNode.SelectSingleNode("writedown");
     
     if (writedownNode != null)
     {
         if (writedownNode.Attributes["href"] != null || writedownNode.Attributes["id"] != null) 
         {
             if (writedownNode.Attributes["id"] != null) 
             {
                 writedownIDRef_ = writedownNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(writedownNode);
                 IDManager.SetID(writedownIDRef_, ob);
             }
             else if (writedownNode.Attributes["href"] != null)
             {
                 writedownIDRef_ = writedownNode.Attributes["href"].Value;
             }
             else
             {
                 writedown_ = new XsdTypeBoolean(writedownNode);
             }
         }
         else
         {
             writedown_ = new XsdTypeBoolean(writedownNode);
         }
     }
     
 
     XmlNode impliedWritedownNode = xmlNode.SelectSingleNode("impliedWritedown");
     
     if (impliedWritedownNode != null)
     {
         if (impliedWritedownNode.Attributes["href"] != null || impliedWritedownNode.Attributes["id"] != null) 
         {
             if (impliedWritedownNode.Attributes["id"] != null) 
             {
                 impliedWritedownIDRef_ = impliedWritedownNode.Attributes["id"].Value;
                 XsdTypeBoolean ob = new XsdTypeBoolean(impliedWritedownNode);
                 IDManager.SetID(impliedWritedownIDRef_, ob);
             }
             else if (impliedWritedownNode.Attributes["href"] != null)
             {
                 impliedWritedownIDRef_ = impliedWritedownNode.Attributes["href"].Value;
             }
             else
             {
                 impliedWritedown_ = new XsdTypeBoolean(impliedWritedownNode);
             }
         }
         else
         {
             impliedWritedown_ = new XsdTypeBoolean(impliedWritedownNode);
         }
     }
     
 
     XmlNode floatingAmountProvisionsNode = xmlNode.SelectSingleNode("floatingAmountProvisions");
     
     if (floatingAmountProvisionsNode != null)
     {
         if (floatingAmountProvisionsNode.Attributes["href"] != null || floatingAmountProvisionsNode.Attributes["id"] != null) 
         {
             if (floatingAmountProvisionsNode.Attributes["id"] != null) 
             {
                 floatingAmountProvisionsIDRef_ = floatingAmountProvisionsNode.Attributes["id"].Value;
                 FloatingAmountProvisions ob = new FloatingAmountProvisions(floatingAmountProvisionsNode);
                 IDManager.SetID(floatingAmountProvisionsIDRef_, ob);
             }
             else if (floatingAmountProvisionsNode.Attributes["href"] != null)
             {
                 floatingAmountProvisionsIDRef_ = floatingAmountProvisionsNode.Attributes["href"].Value;
             }
             else
             {
                 floatingAmountProvisions_ = new FloatingAmountProvisions(floatingAmountProvisionsNode);
             }
         }
         else
         {
             floatingAmountProvisions_ = new FloatingAmountProvisions(floatingAmountProvisionsNode);
         }
     }
     
 
     XmlNode additionalFixedPaymentsNode = xmlNode.SelectSingleNode("additionalFixedPayments");
     
     if (additionalFixedPaymentsNode != null)
     {
         if (additionalFixedPaymentsNode.Attributes["href"] != null || additionalFixedPaymentsNode.Attributes["id"] != null) 
         {
             if (additionalFixedPaymentsNode.Attributes["id"] != null) 
             {
                 additionalFixedPaymentsIDRef_ = additionalFixedPaymentsNode.Attributes["id"].Value;
                 AdditionalFixedPayments ob = new AdditionalFixedPayments(additionalFixedPaymentsNode);
                 IDManager.SetID(additionalFixedPaymentsIDRef_, ob);
             }
             else if (additionalFixedPaymentsNode.Attributes["href"] != null)
             {
                 additionalFixedPaymentsIDRef_ = additionalFixedPaymentsNode.Attributes["href"].Value;
             }
             else
             {
                 additionalFixedPayments_ = new AdditionalFixedPayments(additionalFixedPaymentsNode);
             }
         }
         else
         {
             additionalFixedPayments_ = new AdditionalFixedPayments(additionalFixedPaymentsNode);
         }
     }
     
 
 }