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:     State#rr_recon_state{ stage = NStage, 
                            struct = SyncStruct, 
                            stats = rr_recon_stats:set([{build_time, BuildTime}], NStats) };    
      
  on({get_chunk_response, {RestI, DBList}}, State = 
         #rr_recon_state{ stage = reconciliation,
                          method = bloom,
  
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;
  