docs: def execute(self):
          """
          Parallelize on the riskinputs and returns a dictionary of results.
          Require a `.core_task` to be defined with signature
          (riskinputs, riskmodel, rlzs_assoc, monitor).
          """
          if not hasattr(self, 'riskinputs'):  # in the reportwriter
              return
          res = Starmap.apply(
              self.core_task.__func__,
              (self.riskinputs, self.riskmodel, self.param, self.monitor()),
              concurrent_tasks=self.oqparam.concurrent_tasks or 1,
              weight=get_weight
          ).reduce(self.combine)
          return res