anchor.diff:  -export([start_link/1, init/1, on/2, check_config/0]).
   
   -record(state,
  -        {id      = ?required(state, id)      :: uid:global_uid(),
  -         perf_rr = ?required(state, perf_rr) :: rrd:rrd(),
  -         perf_lh = ?required(state, perf_lh) :: rrd:rrd(),
  -         perf_tx = ?required(state, perf_tx) :: rrd:rrd()
  +        {id        = ?required(state, id)        :: uid:global_uid(),
  +         perf_rr   = ?required(state, perf_rr)   :: rrd:rrd(),
  +         perf_lh   = ?required(state, perf_lh)   :: rrd:rrd(),
  +         perf_tx   = ?required(state, perf_tx)   :: rrd:rrd()
           }).
   
  --type state() :: {AllNodes::#state{}, CollectingAtLeader::#state{}}.
  +-type state() :: {AllNodes::#state{}, CollectingAtLeader::#state{}, BenchPid::pid(), IgnoreBenchTimeout::boolean()}.
   -type message() ::
       {bench} |
  +    {bench_result, Time::erlang_timestamp(), TimeInMs::non_neg_integer()} |
  +    {bench_timeout, Time::erlang_timestamp(), BenchPid::pid()} |
       {collect_system_stats} |
       {propagate} |
       {get_node_details_response, node_details:node_details()} |
  
positive.code:     bulkowner:send_reply(Id, Target, Msg, Parents, pid_groups:get_my(dht_node)),
      State;
  
  on({bulkowner, reply, Id, {gather_stats_response, DataL}} = _Msg, {AllNodes, Leader} = _State)
    when Id =:= Leader#state.id ->
      ?TRACE1(_Msg, _State),
      Leader1 =
  
negative.code:             bulkowner:issue_bulk_owner(NewId, intervals:all(), Msg),
              Leader1 = check_timeslots(Leader),
              broadcast_values(Leader, Leader1),
              {AllNodes, Leader1#state{id = NewId}, BenchPid, IgnBenchT}
      end;
  
  on({bulkowner, deliver, Id, Range, {gather_stats, SourcePid}, Parents} = _Msg, State) ->
  