anchor.diff:          end,
       EmptyRest = intervals:is_empty(RestI),
       if not EmptyRest ->
  -           Pid = if RMethod =:= bloom -> erlang:element(2, fork_recon(State));
  +           SubSyncI = find_intersection(SyncI, RestI),
  +           Pid = if RMethod =:= bloom -> 
  +                        ForkParams = lists:keyreplace(interval, 1, Params, {interval, SubSyncI}),
  +                        erlang:element(2, fork_recon(State#rr_recon_state{ struct = ForkParams }));
                       true -> self()
                    end,
  -            send_chunk_req(DhtNodePid, Pid, RestI, find_intersection(RestI, SyncI), 
  +            send_chunk_req(DhtNodePid, Pid, find_intersection(RestI, SyncI), SubSyncI, 
                              get_max_items(RMethod));
           true -> ok
       end,
  
positive.code: % debug
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  %-define(TRACE(X,Y), io:format("~w: [~p] " ++ X ++ "~n", [?MODULE, self()] ++ Y)).
  -define(TRACE(X,Y), ok).
  
  %DETAIL DEBUG MESSAGES
  %-define(TRACE2(X,Y), io:format("~w: [~p] " ++ X ++ "~n", [?MODULE, self()] ++ Y)).
  -define(TRACE2(X,Y), ok).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % type definitions
  
negative.code:                         struct = #bloom_recon_struct{ interval = BloomI}
                         }) ->
      MySyncI = find_intersection(MyI, BloomI),
      case intervals:is_empty(MySyncI) of
          false -> send_chunk_req(DhtPid, self(), MySyncI, BloomI, get_max_items(bloom));
          true -> comm:send_local(self(), {shutdown, empty_interval})
      end,
      State;
  