docs: def executeTree(address=[]):
      """This function executes a tree. To limit the size of the arguments passed
      to the function, the tree must be loaded in memory in every worker. To do
      this, simply call "Tree = importTree(filename)" before using the startup
      method of the parralisation library you are using"""
      global nodeDone
      # Get tree subsection
      localTree = getTree(address)
      # Execute tasks
      localTree.intCalc()
      localTree.floatCalc()
      # Select next nodes to be executed
      nextAddresses = [address + [i] for i in range(len(localTree.children))]
      if len(localTree.children) == 0:
          return 1
      # Execute the children
      res = sum(mapfunc(executeTree, nextAddresses))
      assert res == localTree.leaves, (
          "Test failed: res = {0}, leaves = {1}").format(res, localTree.leaves)
      return res