public void RefreshContentLists()
 {
     this.treeViewSavedSearches.Nodes.Clear();
     if ((this.SelectedDownloadContent != null) && (this.SelectedDownloadContent.ContentType != null))
     {
         ThreadPool.QueueUserWorkItem(delegate (object s) {
             try
             {
                 using (IEnumerator<ContentList> enumerator = new QuazalQuery("GetContentLists", new object[] { this.SelectedDownloadContent.ContentType.Name }).GetObjects<ContentList>().GetEnumerator())
                 {
                     while (enumerator.MoveNext())
                     {
                         ContentList list = enumerator.Current;
                         string[] strArray = list.Category.Split(new char[] { '.' });
                         TreeNodeCollection siblings = this.treeViewSavedSearches.Nodes;
                         TreeNode lastNode = null;
                         foreach (string str in strArray)
                         {
                             TreeNode[] nodeArray = this.treeViewSavedSearches.Nodes.Find(str, false);
                             if (nodeArray.Length > 0)
                             {
                                 lastNode = nodeArray[0];
                                 siblings = lastNode.Nodes;
                             }
                             else
                             {
                                 TreeNode node = new TreeNode(Loc.Get("<LOC>" + str), list.CategoryImageIndex, list.CategoryImageIndex) {
                                     Name = str
                                 };
                                 if ((!base.IsHandleCreated || base.Disposing) || base.IsDisposed)
                                 {
                                     return;
                                 }
                                 base.Invoke((VGen0)delegate {
                                     siblings.Add(node);
                                     if (node.Parent != null)
                                     {
                                         node.Parent.Expand();
                                     }
                                 });
                                 lastNode = node;
                                 siblings = lastNode.Nodes;
                             }
                         }
                         TreeNode listNode = new TreeNode(Loc.Get("<LOC>" + list.Name), list.ListImageIndex, list.ListImageIndex) {
                             Name = list.Name,
                             Tag = list
                         };
                         if ((!base.IsHandleCreated || base.Disposing) || base.IsDisposed)
                         {
                             return;
                         }
                         base.Invoke((VGen0)delegate {
                             lastNode.Nodes.Add(listNode);
                             if (listNode.Parent != null)
                             {
                                 listNode.Parent.Expand();
                             }
                             if (!(this.DefaultListPicked || !(list.Name == ConfigSettings.GetString("DefaultVaultSearchList", "Most Downloaded"))))
                             {
                                 this.treeViewSavedSearches.SelectedNode = listNode;
                                 this.DefaultListPicked = true;
                             }
                         });
                     }
                 }
             }
             catch (Exception exception)
             {
                 ErrorLog.WriteLine(exception);
             }
         });
     }
 }