private void editSingleNodeToolStripMenuItem_Click(object sender, EventArgs e)
        {
            NetflowSensorTreeNode netf = trvConfig.SelectedNode as NetflowSensorTreeNode;

            if (netf != null)
            {
                using (FormSensorDefEditor frmSensorEditor = new FormSensorDefEditor(this.templMan))
                {
                    frmSensorEditor.SensorDef = this.conf.GetChannelDef(netf.ChannelDefinitionID);
                    frmSensorEditor.ShowDialog();
                }
            }
        }
        /// <summary>
        /// Constucts the "channel view" for a given node. This walks the original tree
        /// recursively, and constructs a new tree by invoking AddDeviceTreeForChannel on each
        /// sensor that it finds.
        /// </summary>
        /// <param name="t">The TreeNode to visit</param>
        private void BuildChannelViewForNode(TreeNode t)
        {
            if (t is DeviceTreeNode)
            {
                foreach (TreeNode s in t.Nodes)
                {
                    NetflowSensorTreeNode ns = s as NetflowSensorTreeNode;
                    if (ns == null)
                    {
                        continue;
                    }

                    AddDeviceTreeForChannel(ns.ChannelDefinitionID, t);
                }
            }
            else
            {
                foreach (TreeNode c in t.Nodes)
                {
                    BuildChannelViewForNode(c);
                }
            }
        }