code: def can_next(self, step, inputs, workflow, status):
          
          if not (step in status and status[step] in {'running', 'finalising'}):
              return False
          for out in step.outs:
              if not all(inputs[consumer].is_writable(out) for consumer in workflow.get_parents(out)):
                  return False
          return True
docs: All the outputs are empty and status is running or finalising
          :param step:
          :param inputs:
          :param workflow:
          :param status:
          :return: