anchor.diff:              S1
       end.
   
  -
  +-spec send_termination_signal(stage_name(), state()) -> state().
   send_termination_signal(Stage, #state{stage_info = SI, pending = Pending} = S) ->
       S2 = lists:foldl(fun(TaskId, S1) ->
                       send_term_signal_to_task(TaskId, S1)
  
positive.code:     GOutputs = pipeline_utils:group_outputs(Grouping, PrevStageOutputs),
      make_stage_tasks(Stage, Grouping, GOutputs, S, {0, []}).
  
  make_stage_tasks(Stage, _Grouping, [],
                   #state{stage_info = SI} = S, {TaskNum, Tasks}) ->
      StageInfo1 = case jc_utils:stage_info_opt(Stage, SI) of
  
negative.code:                     end
                  end, S2, Pending).
  
  -spec start_next_stage([{task_id(), [task_output()]}], stage_name(),
                         label_grouping(), state()) -> state().
  start_next_stage(PrevStageOutputs, Stage, Grouping,
                   #state{jobinfo = #jobinfo{jobname = JobName}} = S) ->
      {Tasks, S1} = setup_stage_tasks(PrevStageOutputs, Stage, Grouping, S),
  