anchor.diff:                 end || {Process, Key, DB} <- DBs, DB =/= undefined]),
       case DataL of
           [] -> ok;
  -        _  -> comm:send(SourcePid, {gather_stats_response, Round, DataL})
  +        _  -> comm:send(SourcePid, {gather_stats_response, Id, DataL})
       end,
       State;
   
  -on({gather_stats_response, Round, DataL} = _Msg, {AllNodes, Leader} = _State)
  -  when Round =:= Leader#state.round->
  +on({gather_stats_response, Id, DataL} = _Msg, {AllNodes, Leader} = _State)
  +  when Id =:= Leader#state.id ->
       ?TRACE1(_Msg, _State),
       Leader1 =
           lists:foldl(
  
positive.code:     {bench} |
      {propagate} |
      {get_node_details_response, node_details:node_details()} |
      {gather_stats, SourcePid::comm:mypid(), Round::pos_integer()} |
      {{get_rrds_response, [{Process::atom(), Key::string(), DB::rrd:rrd() | undefined}]}, {SourcePid::comm:mypid(), Round::pos_integer()}} |
      {gather_stats_response, Round::pos_integer(), [{Process::atom(), Key::string(), Data::rrd:timing_type(number())}]} |
      {report_value, StatsOneRound::#state{}} |
      {get_rrds, [{Process::atom(), Key::string()},...], SourcePid::comm:mypid()}.
  
  
negative.code:                   end
            end, Leader, DataL),
      {AllNodes, Leader1};
  on({gather_stats_response, _Id, _Data} = _Msg, State) ->
      ?TRACE1(_Msg, State),
      State;
  
  on({report_value, OtherState} = _Msg, {AllNodes, Leader} = _State) ->
      ?TRACE1(_Msg, _State),
      AllNodes1 = integrate_values(OtherState, AllNodes),
      {AllNodes1, Leader};
  
  on({get_rrds, KeyList, SourcePid}, {AllNodes, _Leader} = State) ->
      MyData = lists:flatten(
  