public BondStructureFolderNode(UltraTree owningTree_, BondStructureFolder folder_, BondStructureFolderTreeDisplayMode mode_, bool readTree_=true)
    {
      m_folder = folder_;
      Text = folder_.FolderName;
      m_mode = mode_;
      Owner = owningTree_;
      if (readTree_)
      {
        foreach (var folder in m_folder.SubFolders.OrderBy(x => x.FolderName))
          Nodes.Add(new BondStructureFolderNode(owningTree_, folder, mode_, readTree_));

        if(m_mode==BondStructureFolderTreeDisplayMode.Full)
          foreach (var item in m_folder.Items.OrderBy(x=>x.Name))
            Nodes.Add(new StructureNode(item));
      }

      LeftImages.Add(BSAResources.folder_icon_16black);

      subscribeToFolder();

    }
    public void Create(BondStructureFolderTreeDisplayMode mode_)
    {
      if (ultraTree1.Nodes.Count > 0) return;

      m_displayMode = mode_;

      ultraTree1.Override.SortComparer = new NodeSorter();
      AddBondStructureNode();
      ultraTree1.Override.Sort = SortType.Ascending;
      ultraTree1.RefreshSort(ultraTree1.Nodes, true);

      if(mode_==BondStructureFolderTreeDisplayMode.Full)
        ultraTree1.AllowDrop = true;

      ultraTree1.HideSelection = false;

      if (mode_ == BondStructureFolderTreeDisplayMode.FoldersOnly)
      {
        ultraTree1.Override.SelectionType = SelectType.Extended;
        ultraTree1.SelectionBehavior = SelectionBehavior.ExtendedAcrossCollections;
      }
    }