public HumanRightsViolationCategoryNode (HumanRightsViolationCategory record)
        {
            HumanRightsViolationCategory = record;

            Name = record.Name;
            Id = record.Id;
        }
 static void walkThroughStore (HumanRightsViolationCategory record, HumanRightsViolationCategoryNode parent) {
     foreach(HumanRightsViolationCategory childRecord in record.Children) {
         if (childRecord.Children.Count == 0)
             parent.AddChild(new HumanRightsViolationCategoryNode(childRecord));
         else {
             HumanRightsViolationCategoryNode subparent = new HumanRightsViolationCategoryNode(childRecord);
             walkThroughStore(childRecord, subparent);
             parent.AddChild(subparent);
         }
     }
 }
        protected void OnNodeviewRowActivated (object o, Gtk.RowActivatedArgs args)
        {
            Gtk.NodeSelection selection = ((Gtk.NodeView)o).NodeSelection;
            Active = ((HumanRightsViolationCategoryNode)selection.SelectedNode).HumanRightsViolationCategory;
            SetWidgets ();

            if (CategorySelected != null) {
                CategorySelected (Active, args);
            }
        }