public void AddToTree(FolderEntry item, Idstring pck = null)
        {
            foreach (KeyValuePair <string, IEntry> entry in Children)
            {
                if (entry.Value is FolderEntry)
                {
                    FolderEntry _entry = entry.Value as FolderEntry;

                    if (pck != null && !_entry.ContainsAnyBundleEntries(pck))
                    {
                        continue;
                    }

                    //  item.Children.Add(item);
                    _entry.AddToTree(item, pck);
                }
            }
        }
        public bool ContainsAnyBundleEntries(Idstring package = null)
        {
            foreach (KeyValuePair <string, IEntry> entry in Children)
            {
                if (entry.Value is FolderEntry)
                {
                    FolderEntry _entry = entry.Value as FolderEntry;
                    if (_entry.ContainsAnyBundleEntries(package))
                    {
                        return(true);
                    }
                }
                else if (entry.Value is FileEntry)
                {
                    FileEntry _entry = entry.Value as FileEntry;
                    if (_entry.BundleEntries.Count != 0 && (package != null ? _entry.BundleEntries.ContainsKey(package) : true))
                    {
                        return(true);
                    }
                }
            }

            return(false);
        }