'Browse edges in a tree and calls cb providing edge parameters'

def browse(self, eid, cb):

    children = self.__has_children(eid)
    if children:
        cb(self.__browse_level, eid, str(children))
        for c in children:
            self.__browse_level += 1
            self.browse(c, cb)
    else:
        cb(self.__browse_level, eid, None)
        self.__browse_level = 0
