void InitFunctions(TreeNode ndRoot)
        {
            List<string> ar = new List<string>();

            ar.AddRange(StaticLists.FunctionList);

            // Build list of methods in the  VBFunctions class
            ReportingCloud.Engine.FontStyleEnum fsi = FontStyleEnum.Italic;	// just want a class from ReportingCloud.Engine.dll assembly
            Assembly a = Assembly.GetAssembly(fsi.GetType());
            if (a == null)
                return;
            Type ft = a.GetType("ReportingCloud.Engine.VBFunctions");
            BuildMethods(ar, ft, "");

            // build list of financial methods in Financial class
            ft = a.GetType("ReportingCloud.Engine.Financial");
            BuildMethods(ar, ft, "Financial.");

            // build list of financial methods in Entity class
            ft = a.GetType("ReportingCloud.Engine.Entity");
            BuildMethods(ar, ft, "Entity.");

            a = Assembly.GetAssembly("".GetType());
            ft = a.GetType("System.Math");
            BuildMethods(ar, ft, "Math.");

            ft = a.GetType("System.Convert");
            BuildMethods(ar, ft, "Convert.");

            ft = a.GetType("System.String");
            BuildMethods(ar, ft, "String.");

            ar.Sort();
            string previous="";
            foreach (string item in ar)
            {
                if (item != previous)	// don't add duplicates
                {
                    // Add the node to the tree
                    TreeNode aRoot = new TreeNode(item);
                    ndRoot.Nodes.Add(aRoot);
                }
                previous = item;
            }
        }