anchor.diff:              true -> NonRacing;
               false -> ordsets:add_element(Lid, NonRacing)
           end,
  -
       {predecessor(Initial, I, ClockVector), Initial}.
   
   find_initials(Candidates, ProcSI, I, RevTrace) ->
  
positive.code:             ?debug("One pred already in backtrack.\n"),
              {done, PreSI};
          false ->
              Added =
                  case Predecessor of
                      [OneP] ->
                          ?debug(" Add as 'choose-one': ~p\n", [OneP]),
                          [{OneP, dummy, []}];
                      [] ->
                          ?debug(" Add as 'choose every': ~p\n", [Candidates]),
                          New = ordsets:subtract(Candidates, BacktrackSet),
                          [{P, dummy, []} || P <- New]
                  end,
              ?debug("    Added: ~p\n",[Added]),
              {done, PreSI#trace_state{backtrack = Backtrack ++ Added}}
      end.
  
  %% --------------------------------------
  
negative.code:                         {Predecessor, _Initial} =
                              find_preds_and_initials(Lid, ProcSI, Candidates,
                                                      I, ClockVector, Acc),
                          case
                              decide_classic(Predecessor, Backtrack, Candidates,
                                             PreSI)
                          of
                              {done, _} = DoneResult -> DoneResult;
                              continue ->
                                  NewClockVector =
                                      lookup_clock(ProcSI, ClockMap),
                                  MaxClockVector =
                                      max_cv(NewClockVector, ClockVector),
                                  {continue_source, ProcSI, MaxClockVector}
                          end
                  end
          end,
      case Action of
  