private void AddChildren(ProjectSpecificConcepts conceptsForm, TagInfoBase tag, TreeNode node, HashSet<int> selectedTags)
 {
     List<TagInfoBase> childTags = conceptsForm.GetTags(tag.TagId);
     foreach (var childTag in childTags)
     {
         TreeNode childNode = node.Nodes.Add(childTag.TagName);
         childNode.Tag = childTag.TagId;
         childNode.Checked = selectedTags.Contains(childTag.TagId);
         AddChildren(conceptsForm, childTag, childNode, selectedTags);
     }
 }
 public void LoadTags(ProjectSpecificConcepts conceptsForm, HashSet<int> selectedTags )
 {
     List<TagInfoBase> tags = conceptsForm.GetTags(-1);
     foreach (TagInfoBase tag in tags)
     {
         TreeNode node = TreeViewTags.Nodes.Add(tag.TagName);
         node.Tag = tag.TagId;
         node.Checked = selectedTags.Contains(tag.TagId);
         AddChildren(conceptsForm, tag, node, selectedTags);
     }
 }