code: def _get_task_attribute(self, name, fallback=False):
          
          attr = "{}_{}".format(self.workflow_type, name)
          if not fallback:
              return getattr(self.task, attr)
          else:
              value = getattr(self.task, attr, no_value)
              return value if value != no_value else getattr(self.task, name)
docs: Return an attribute of the actial task named ``<workflow_type>_<name>``.
          When the attribute does not exist and *fallback* is *True*, try to return the task attribute
          simply named *name*. In any case, if a requested task attribute is eventually not found, an
          AttributeError is raised.