public FxOptionFeatures(XmlNode xmlNode)
 {
     XmlNodeList asianNodeList = xmlNode.SelectNodes("asian");
     if (asianNodeList.Count > 1 )
     {
             throw new Exception();
     }
     
     foreach (XmlNode item in asianNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 asianIDRef = item.Attributes["id"].Name;
                 FxAsianFeature ob = FxAsianFeature();
                 IDManager.SetID(asianIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 asianIDRef = item.Attributes["href"].Name;
             }
             else
             {
                 asian = new FxAsianFeature(item);
             }
         }
     }
     
 
     XmlNodeList barrierNodeList = xmlNode.SelectNodes("barrier");
     
     foreach (XmlNode item in barrierNodeList)
     {
         if (item.Attributes["href"] != null || item.Attributes["id"] == null) 
         {
             if (item.Attributes["id"] != null) 
             {
                 barrierIDRef = item.Attributes["id"].Name;
                 List<FxBarrierFeature> ob = new List<FxBarrierFeature>();
                 ob.Add(new FxBarrierFeature(item));
                 IDManager.SetID(barrierIDRef, ob);
             }
             else if (item.Attributes.ToString() == "href")
             {
                 barrierIDRef = item.Attributes["href"].Name;
             }
             else
             {
             barrier.Add(new FxBarrierFeature(item));
             }
         }
     }
     
 
 }
        public FxOptionFeatures(XmlNode xmlNode)
        {
            XmlNodeList asianNodeList = xmlNode.SelectNodes("asian");

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

            foreach (XmlNode item in asianNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        asianIDRef = item.Attributes["id"].Name;
                        FxAsianFeature ob = FxAsianFeature();
                        IDManager.SetID(asianIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        asianIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        asian = new FxAsianFeature(item);
                    }
                }
            }


            XmlNodeList barrierNodeList = xmlNode.SelectNodes("barrier");

            foreach (XmlNode item in barrierNodeList)
            {
                if (item.Attributes["href"] != null || item.Attributes["id"] == null)
                {
                    if (item.Attributes["id"] != null)
                    {
                        barrierIDRef = item.Attributes["id"].Name;
                        List <FxBarrierFeature> ob = new List <FxBarrierFeature>();
                        ob.Add(new FxBarrierFeature(item));
                        IDManager.SetID(barrierIDRef, ob);
                    }
                    else if (item.Attributes.ToString() == "href")
                    {
                        barrierIDRef = item.Attributes["href"].Name;
                    }
                    else
                    {
                        barrier.Add(new FxBarrierFeature(item));
                    }
                }
            }
        }
 public FxOptionFeatures(XmlNode xmlNode)
 {
     XmlNode asianNode = xmlNode.SelectSingleNode("asian");
     
     if (asianNode != null)
     {
         if (asianNode.Attributes["href"] != null || asianNode.Attributes["id"] != null) 
         {
             if (asianNode.Attributes["id"] != null) 
             {
                 asianIDRef_ = asianNode.Attributes["id"].Value;
                 FxAsianFeature ob = new FxAsianFeature(asianNode);
                 IDManager.SetID(asianIDRef_, ob);
             }
             else if (asianNode.Attributes["href"] != null)
             {
                 asianIDRef_ = asianNode.Attributes["href"].Value;
             }
             else
             {
                 asian_ = new FxAsianFeature(asianNode);
             }
         }
         else
         {
             asian_ = new FxAsianFeature(asianNode);
         }
     }
     
 
     XmlNodeList barrierNodeList = xmlNode.SelectNodes("barrier");
     
     if (barrierNodeList != null)
     {
         this.barrier_ = new List<FxBarrierFeature>();
         foreach (XmlNode item in barrierNodeList)
         {
             if (item.Attributes["href"] != null || item.Attributes["id"] != null) 
             {
                 if (item.Attributes["id"] != null) 
                 {
                     barrierIDRef_ = item.Attributes["id"].Value;
                     barrier_.Add(new FxBarrierFeature(item));
                     IDManager.SetID(barrierIDRef_, barrier_[barrier_.Count - 1 ]);
                 }
                 else if (item.Attributes["href"] != null)
                 {
                     barrierIDRef_ = item.Attributes["href"].Value;
                 }
                 else
                 {
                 barrier_.Add(new FxBarrierFeature(item));
                 }
             }
             else
             {
                 barrier_.Add(new FxBarrierFeature(item));
             }
         }
     }
     
 
 }
        public FxOptionFeatures(XmlNode xmlNode)
        {
            XmlNode asianNode = xmlNode.SelectSingleNode("asian");

            if (asianNode != null)
            {
                if (asianNode.Attributes["href"] != null || asianNode.Attributes["id"] != null)
                {
                    if (asianNode.Attributes["id"] != null)
                    {
                        asianIDRef_ = asianNode.Attributes["id"].Value;
                        FxAsianFeature ob = new FxAsianFeature(asianNode);
                        IDManager.SetID(asianIDRef_, ob);
                    }
                    else if (asianNode.Attributes["href"] != null)
                    {
                        asianIDRef_ = asianNode.Attributes["href"].Value;
                    }
                    else
                    {
                        asian_ = new FxAsianFeature(asianNode);
                    }
                }
                else
                {
                    asian_ = new FxAsianFeature(asianNode);
                }
            }


            XmlNodeList barrierNodeList = xmlNode.SelectNodes("barrier");

            if (barrierNodeList != null)
            {
                this.barrier_ = new List <FxBarrierFeature>();
                foreach (XmlNode item in barrierNodeList)
                {
                    if (item.Attributes["href"] != null || item.Attributes["id"] != null)
                    {
                        if (item.Attributes["id"] != null)
                        {
                            barrierIDRef_ = item.Attributes["id"].Value;
                            barrier_.Add(new FxBarrierFeature(item));
                            IDManager.SetID(barrierIDRef_, barrier_[barrier_.Count - 1]);
                        }
                        else if (item.Attributes["href"] != null)
                        {
                            barrierIDRef_ = item.Attributes["href"].Value;
                        }
                        else
                        {
                            barrier_.Add(new FxBarrierFeature(item));
                        }
                    }
                    else
                    {
                        barrier_.Add(new FxBarrierFeature(item));
                    }
                }
            }
        }