anchor.diff:  % debug
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   
  +
  +-define(TRACE(X,Y), ok).
   %-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), ok).
   %-define(TRACE2(X,Y), io:format("~w: [~p] " ++ X ++ "~n", [?MODULE, self()] ++ Y)).
  --define(TRACE2(X,Y), ok).
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
   % type definitions
  
positive.code:     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
          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))
      end,    
      State#rr_recon_state{ stage = build_struct, dest_recon_pid = DestReconPid };
  
  
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;
  