protected override void OnBeforeCollapse(TreeViewCancelEventArgs e)
        {
            base.OnBeforeCollapse(e);
            AutonomousTreeNode node = e.Node as AutonomousTreeNode;

            if (node != null)
            {
                node.OnBeforeCollapse(e);
            }
        }
        protected override void OnAfterSelect(TreeViewEventArgs e)
        {
            base.OnAfterSelect(e);
            AutonomousTreeNode node = e.Node as AutonomousTreeNode;

            if (node != null)
            {
                node.OnAfterSelect(e);
            }
        }
        protected override void OnNodeMouseHover(TreeNodeMouseHoverEventArgs e)
        {
            base.OnNodeMouseHover(e);
            AutonomousTreeNode node = e.Node as AutonomousTreeNode;

            if (node != null)
            {
                node.OnNodeMouseHover(e);
            }
        }
        protected override void OnAfterLabelEdit(NodeLabelEditEventArgs e)
        {
            base.OnAfterLabelEdit(e);
            AutonomousTreeNode node = e.Node as AutonomousTreeNode;

            if (node != null)
            {
                node.OnAfterLabelEdit(e);
            }
        }
        protected override void OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e)
        {
            base.OnNodeMouseDoubleClick(e);
            AutonomousTreeNode node = e.Node as AutonomousTreeNode;

            if (node != null)
            {
                node.OnNodeMouseDoubleClick(e);
            }
        }