public void NodeChanged(AbstractFieldNode node)
        {
            TreeNode treeNode = GetTreeNode(node);
            if(treeNode == null)
                return;

            treeNode.Text = node.ToString();

            for (int i = 0; i < node.Count; i++)
            {
                NodeChanged(node.GetChild(i));
            }
        }
        private void SetupNode(AbstractFieldNode node)
        {
            node.OnChildAdded += OnNodeAdded;
            node.OnChanged += OnNodeChanged;
            node.OnChildRemoved += OnNodeRemoved;
            m_winForm.AddNode(node);

            int childCount = node.Count;
            for (int i = 0; i < childCount; i++)
            {
                SetupNode(node.GetChild(i));
            }
        }