Recursively walk through a C_stree, applying a passed function
            at each node. The actual "walk" depends on using the 'cd' function
            which will only descend into paths that already exist in the
            internal path database.

            To flush this and explore the pathspace de novo, use treeExplore()
            instead.

            kwargs:
                --startPath=<startPath> :   The starting point in the tree
                --func=<f> :                The function to apply at each node

                Additional kwargs are passed to <f>

            <f> is a function that is called on a node path. It is of form:

                f(path, **kwargs)

            where path is a node in the tree space.

            <f> must return a dictionary containing at least one field:

                { "status": True | False }

            This same dictionary is also returned out to the caller of this
            function.

def treeWalk(self, **kwargs):
            """
            Recursively walk through a C_stree, applying a passed function
            at each node. The actual "walk" depends on using the 'cd' function
            which will only descend into paths that already exist in the
            internal path database.

            To flush this and explore the pathspace de novo, use treeExplore()
            instead.

            kwargs:
                --startPath=<startPath> :   The starting point in the tree
                --func=<f> :                The function to apply at each node

                Additional kwargs are passed to <f>

            <f> is a function that is called on a node path. It is of form:

                f(path, **kwargs)

            where path is a node in the tree space.

            <f> must return a dictionary containing at least one field:

                { "status": True | False }

            This same dictionary is also returned out to the caller of this
            function.

            """

            str_recursePath = ''
            str_startPath   = '/'
            f               = None
            ret             = {}

            for key,val in kwargs.items():
                if key == 'startPath':  str_startPath   = val
                if key == 'f':          f               = val

            # print 'processing node: %s' % str_startPath
            if self.cd(str_startPath)['status']:
                ret = f(str_startPath, **kwargs)
                if ret['status']:
                    for node in self.lstr_lsnode(str_startPath):
                        if str_startPath == '/': str_recursePath = "/%s" % node
                        else: str_recursePath = '%s/%s' % (str_startPath, node)
                        self.treeWalk(f = f, startPath = str_recursePath)
            return ret