anchor.diff:                                   mod=Mod,
                                    mod_state=ModState,
                                    req_id=ReqId,
  -                                 timeout=Timeout}) ->
  -    case Mod:process_results(Results, ModState) of
  +                                 timeout=Timeout,
  +                                 process_fun = ProcessFun}) ->
  +    case ProcessFun(VNode, Results, ModState) of
           {ok, UpdModState} ->
               UpdStateData = StateData#state{mod_state=UpdModState},
               {next_state, waiting_results, UpdStateData, Timeout};
  
positive.code:                 required_responses :: pos_integer(),
                  response_count=0 :: non_neg_integer(),
                  timeout :: timeout(),
                  vnode_master :: atom()
                 }).
  
  %% ===================================================================
  
negative.code:         {error, Reason} ->
              Mod:finish({error, Reason}, ModState);
          {CoverageVNodes, FilterVNodes} ->
              {ok, UpModState} = PlanFun(CoverageVNodes, ModState),
              Sender = {fsm, ReqId, self()},
              riak_core_vnode_master:coverage(Request,
                                              CoverageVNodes,
                                              FilterVNodes,
                                              Sender,
                                              VNodeMaster),
              StateData = StateData0#state{coverage_vnodes=CoverageVNodes, mod_state=UpModState},
              {next_state, waiting_results, StateData, Timeout}
      end.
  
  