anchor.diff:      DestReconPid = proplists:get_value(reconPid, Params, undefined),
       MyIntersec = find_intersection(MyI, DestI),
       case intervals:is_subset(MyIntersec, MyI) and not intervals:is_empty(MyIntersec) of
  +        true ->
  +            RMethod =:= merkle_tree andalso fd:subscribe(DestRRPid),
  +            send_chunk_req(DhtPid, self(), MyIntersec, DestI, get_max_items(RMethod));
           false ->
               comm:send_local(self(), {shutdown, negotiate_interval}),
               DestReconPid =/= undefined andalso
  -                comm:send(DestReconPid, {shutdown, empty_interval});
  -        true ->
  -            RMethod =:= merkle_tree andalso fd:subscribe(DestRRPid),
  -            send_chunk_req(DhtPid, self(), MyIntersec, DestI, get_max_items(RMethod))
  +                comm:send(DestReconPid, {shutdown, empty_interval})
       end,    
       State#rr_recon_state{ stage = build_struct, dest_recon_pid = DestReconPid };
   
  
positive.code:         end,
      EmptyRest = intervals:is_empty(RestI),
      if not EmptyRest ->
             Pid = if RMethod =:= bloom -> erlang:element(2, fork_recon(State));
                      true -> self()
                   end,
              send_chunk_req(DhtNodePid, Pid, RestI, find_intersection(RestI, SyncI), 
                             get_max_items(RMethod));
          true -> ok
      end,
  
negative.code:        fun(Item) -> db_entry:get_version(Item) =/= -1 end,
         fun(Item) ->
                 Key = minKeyInInterval(db_entry:get_key(Item), DestI),
                 encodeBlob(Key, db_entry:get_version(Item)) 
         end,
         MaxItems}).
  