anchor.diff:      HFCount = bloom:calc_HF_numEx(ElementNum, Fpr),
       BF = bloom:new(ElementNum, Fpr, ?REP_HFS:new(HFCount), DBItems),
       #bloom_recon_struct{ interval = I, bloom = BF };
  -build_recon_struct(merkle_tree, _OldSyncStruct = {}, I, DBItems, Params, FinishRecon) ->
  +build_recon_struct(merkle_tree, _OldSyncStruct = {}, I, DBItems, Params, BeginSync) ->
       ?ASSERT(not intervals:is_empty(I)),
       case Params of
           {} ->
  
positive.code:                                      dhtNodePid = DhtNodePid, stage = Stage}) ->
      ?ASSERT(not intervals:is_empty(DestI)),
      % bloom may fork more recon processes if un-synced elements remain
      FinishRecon =
          case intervals:is_empty(RestI) of
              false ->
                  SubSyncI = map_interval(DestI, RestI),
  
negative.code:            % more DB items to come... stay with merkle tree
             Tree
      end;
  build_recon_struct(art, OldSyncStruct, _I, DBItems, _Params = {}, BeginSync) ->
      % similar to continued merkle build
      ?ASSERT(not intervals:is_empty(_I)),
      ?ASSERT(merkle_tree:is_merkle_tree(OldSyncStruct)),
      Tree1 = merkle_tree:insert_list(DBItems, OldSyncStruct),
      if BeginSync ->
             % no more DB items -> finish tree, remove buckets, create art struct:
             NTree = merkle_tree:gen_hash(Tree1, true),
             #art_recon_struct{art = art:new(NTree, get_art_config()),
  