anchor.diff:          send_chunk_req(DhtNodePid, self(), RestI, 
                          mapInterval(RestI, get_interval_quadrant(BloomI)), 
                          get_max_items(bloom)),
  -    {Obsolete, Missing} = 
  -        filterPartitionMap(fun(Filter) -> 
  -                                   not ?REP_BLOOM:is_element(VersBF, Filter) 
  -                           end,
  -                           fun(Partition) -> 
  -                                   {MinKey, _} = decodeBlob(Partition),
  -                                   ?REP_BLOOM:is_element(KeyBF, MinKey)
  -                           end,
  -                           fun(Map) -> 
  -                                   {K, _} = decodeBlob(Map), 
  -                                   K 
  -                           end,
  -                           DBList),
  -    ?TRACE("Reconcile Bloom Round=~p ; Obsolete=~p ; Missing=~p", [Round, length(Obsolete), length(Missing)]),
  -    length(Obsolete) > 0 andalso
  -        comm:send_local(Owner, {request_resolve, Round, {key_sync, DestRU_Pid, Obsolete}, []}),
  -    length(Missing) > 0 andalso
  -        comm:send_local(Owner, {request_resolve, Round, {key_sync, DestRU_Pid, Missing}, []}),
  +    Diff = [erlang:element(1, decodeBlob(KV)) || KV <- DBList,
  +                                                 not ?REP_BLOOM:is_element(BF, KV)],
  +    ?TRACE("Reconcile Bloom Round=~p ; Diff=~p", [Round, length(Diff)]),
  +    length(Diff) > 0 andalso
  +        comm:send_local(Owner, {request_resolve, Round, {key_sync, DestRU_Pid, Diff}, []}),
       SyncFinished andalso        
           comm:send_local(self(), {shutdown, sync_finished}),
       State;
  
positive.code: 
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  % @ doc filter, partition and map items of a list in one run
  -spec filterPartitionMap(Filter::Fun, Partition::Fun, Map::Fun, List) -> {True::List, False::List} when
       is_subtype(Fun,  fun((A) -> boolean())),
       is_subtype(List, [A]).                                                                                                     
  filterPartitionMap(Filter, Pred, Map, List) ->
      filterPartitionMap(Filter, Pred, Map, List, [], []).
  
  filterPartitionMap(_, _, _, [], TrueL, FalseL) -> {TrueL, FalseL};
  filterPartitionMap(Filter, Pred, Map, [H | T], TrueL, FalseL) ->
      {Satis, NonSatis} = 
          case Filter(H) of
              true -> case Pred(H) of
                          true -> {[Map(H) | TrueL], FalseL};
                          false -> {TrueL, [Map(H) | FalseL]}
                      end;        
              false -> {TrueL, FalseL}
          end,
      filterPartitionMap(Filter, Pred, Map, T, Satis, NonSatis).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  -spec start_to_dest(MyI, Req, State) -> ok 
  when
    is_subtype(MyI,     intervals:interval()),
  
negative.code:     Fpr = get_fpr(),
      ElementNum = length(DBItems),
      HFCount = bloom:calc_HF_numEx(ElementNum, Fpr),
      BF = ?REP_BLOOM:new(ElementNum, Fpr, ?REP_HFS:new(HFCount), DBItems),
      #bloom_recon_struct{ interval = mapInterval(I, 1), bloom = BF };
  build_recon_struct(merkle_tree, {I, DBItems}) ->
      merkle_tree:new(I, DBItems, []);
  build_recon_struct(art, Chunk) ->
      Tree = build_recon_struct(merkle_tree, Chunk),
      art:new(Tree).
  
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  % HELPER
  