docs: 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