def flunk(workitem, err_class_or_instance, *err_arguments)

      r = remove_workitem('reject', workitem)

      return flunk(workitem) if r != nil

      workitem.h.delete('_rev')

      super(workitem, err_class_or_instance, *err_arguments)
    end
def flunk(workitem, err_class_or_instance, *err_arguments)

      r = remove_workitem('reject', workitem)

      return flunk(workitem) if r != nil

      workitem.h.delete('_rev')

      super(workitem, err_class_or_instance, *err_arguments)
    end
Removes the workitem and hands it back to the flow with an error to
 raise for the participant expression that emitted the workitem.