private static int GetDept <T>(IValueNode <T> node)
        {
            if (node == null)
            {
                return(0);
            }

            if (node.GetChildNodes().Length == 0)
            {
                return(1);
            }

            return(GetDept(node.ChildNodes.First()) + 1);
        }