code: def apply_getters(self, task):
          
          if not self.getters: return
  
          for getter in self.getters:
              if getter == "@structure":
                  task.history.info("Getting structure from %s" % self.node)
                  new_structure = self.node.get_final_structure()
                  task._change_structure(new_structure)
              else:
                  raise ValueError("Wrong getter %s" % getter)
docs: This function is called when we specify the task dependencies with the syntax:
  
              deps={node: "@property"}
  
          In this case the task has to the get `property` from `node` before starting the calculation.
  
          At present, the following properties are supported:
  
              - @structure