/**
       * 
       * return The newly cloned SPSymbolDef
       */
      //@Override
 
        public SinglePointLookupInfo clone()
          {
            SinglePointLookupInfo defReturn;
            defReturn = new SinglePointLookupInfo(_SymbolID, _Description, 
                    getMappingP().ToString(), 
                    getMappingA().ToString(),
                    getWidth().ToString(), 
                    getHeight().ToString());
            return defReturn;
          }
        public static SinglePointLookupInfo XNodeToSinglePointFontLookupInfo(XNode node)
        {
            SinglePointLookupInfo spli = null;
            XElement element = null;
            XElement subElement = null;
            //XAttribute attribute = null;
            XNode nextNode = null;
            try
            {
                if (node is XElement)
                {
                    element = (XElement)node;

                    if (element.HasElements)
                    {
                        spli = new SinglePointLookupInfo();
                        subElement = null;
                        if (element.FirstNode is XElement)
                            subElement = (XElement)element.FirstNode;
                        while (subElement != null)
                        {

                            if (subElement.Name == "DESCRIPTION")
                            {
                                spli._Description = subElement.FirstNode.ToString();//get element value
                                //ufli._strDescription = ufli._strDescription.Replace("&", "&");
                            }
                            else if (subElement.Name.LocalName == "SYMBOLID")
                            {
                                spli._SymbolID = subElement.FirstNode.ToString();
                            }
                            else if (subElement.Name.LocalName == "MAPPINGA")
                            {
                                if (subElement.FirstNode != null && subElement.FirstNode.ToString() != "")
                                    spli._mappingA = int.Parse(subElement.FirstNode.ToString());
                            }
                            else if (subElement.Name.LocalName == "MAPPINGP")
                            {
                                if (subElement.FirstNode != null && subElement.FirstNode.ToString() != "")
                                    spli._mappingP = int.Parse(subElement.FirstNode.ToString());
                            }
                            else if (subElement.Name.LocalName == "HEIGHT")
                            {
                                if (subElement.FirstNode != null && subElement.FirstNode.ToString() != "")
                                    spli._height = int.Parse(subElement.FirstNode.ToString());
                            }
                            else if (subElement.Name.LocalName == "WIDTH")
                            {
                                if (subElement.FirstNode != null && subElement.FirstNode.ToString() != "")
                                    spli._width = int.Parse(subElement.FirstNode.ToString());
                            }

                            nextNode = subElement.NextNode;
                            subElement = null;
                            while (subElement == null && nextNode != null)
                            {
                                if (nextNode is XElement)
                                    subElement = (XElement)nextNode;
                                else
                                    nextNode = nextNode.NextNode;
                            }
                        }
                    }
                }
                else
                    return null;
            }
            catch (System.Xml.XmlException xe)
            {
                Debug.WriteLine(xe.Message);
                Debug.WriteLine(xe.StackTrace);
            }
            catch (Exception exc)
            {
                Debug.WriteLine(exc.Message);
                Debug.WriteLine(exc.StackTrace);
            }
            if (spli.getBasicSymbolID() != null && spli.getBasicSymbolID() != "")
                return spli;
            else
                return null;
        }