anchor.diff:  execute_slave_job(PoolName, CallbackModule, ExtendedCtx, TaskId, Job) ->
       try
           case traverse_task:is_cancelled(PoolName, TaskId) of
  -            true -> 
  +            {ok, true} -> 
                   ok;
  -            false ->
  +            {ok, false} ->
                   case CallbackModule:do_slave_job(Job, TaskId) of
                       ok ->
                           ok;
  
positive.code: 
  -spec broadcast_job_cancellation(pool(), id()) -> ok.
  broadcast_job_cancellation(PoolName, TaskId) ->
      worker_pool:broadcast(?MASTER_POOL_NAME(PoolName), {?MODULE, is_job_cancelled, [TaskId]}),
      worker_pool:broadcast(?SLAVE_POOL_NAME(PoolName), {?MODULE, is_job_cancelled, [TaskId]}),
      ok.
  
negative.code: -spec is_job_cancelled(id()) -> boolean().
  is_job_cancelled(TaskId) ->
      receive
          ?CANCELLATION_MESSAGE_MATCHER(TaskId) = Msg -> 
              % Resend message so next calls to this function from the same job return correct result. 
              % After job execution finishes this message will be handled by worker_pool resulting in 
              % its removal from message queue. It is enough as following jobs queued on worker pool 
              % check whether task is cancelled before execution.
              self() ! Msg, 
              true
      after 
          0 -> false
  