public static ListConverter ProjectFiles(DirectoryInfo di)
        {
            ListConverter listConverter = new ListConverter();

            listConverter.Add(() =>
            {
                List <HashConverter> list = new List <HashConverter>();
                uint index = 0;
                foreach (FileInfo fi in di.GetFiles("*.bin"))
                {
                    Marshalling.PersistentDataObject obj;
                    if (Library.Project.Load(fi, out obj))
                    {
                        Library.Project proj = obj as Library.Project;
                        if (proj != null)
                        {
                            HashConverter h = HashConverter.ProjectItems(proj);
                            h.Name          = index.ToString();
                            h.Add(() => {
                                return(new Dictionary <string, dynamic>()
                                {
                                    { "index", index.ToString() },
                                    { "project", proj }
                                });
                            });
                            list.Add(h);
                            ++index;
                        }
                    }
                }
                return(list);
            });
            return(listConverter);
        }
        public static ListConverter MakeUXhierarchyProject(Library.Project p, Library.Node <string, Library.Accessor> node)
        {
            ListConverter listConverter = new ListConverter();

            listConverter.Add(() =>
            {
                List <HashConverter> list = new List <HashConverter>();
                list.Add(HashConverter.HierarchyItems(p, node));
                return(list);
            });
            return(listConverter);
        }