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:                         struct = #bloom_recon_struct{ interval = BloomI}
                         }) ->
      MySyncI = find_intersection(MyI, BloomI),
      ?TRACE("GET STATE - MyI=~p ~n BloomI=~p ~n SynI=~p", [MyI, BloomI, MySyncI]),
      case intervals:is_empty(MySyncI) of
          false -> send_chunk_req(DhtPid, self(), MySyncI, MySyncI, get_max_items(bloom));
          true -> comm:send_local(self(), {shutdown, empty_interval})
      end,
      State;
  
negative.code: % debug
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  
  -define(TRACE(X,Y), ok).
  %-define(TRACE(X,Y), io:format("~w: [~p] " ++ X ++ "~n", [?MODULE, self()] ++ Y)).
  
  %DETAIL DEBUG MESSAGES
  -define(TRACE2(X,Y), ok).
  %-define(TRACE2(X,Y), io:format("~w: [~p] " ++ X ++ "~n", [?MODULE, self()] ++ Y)).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % type definitions
  