anchor.diff:                          MyMaxItemsCount, OtherMaxItemsCount, MerkleSyncIn, Params, Stats,
                           RestTreeAcc, MerkleSyncAccSend, MerkleSyncAccRcv, AccCmp, AccSkip) ->
       Sync = case merkle_tree:is_leaf(Node) of
  -               true  -> {Params#merkle_params.bucket_size,
  -                         merkle_tree:get_bucket(Node), 1};
  +               true  -> MaxItemsCount = erlang:min(Params#merkle_params.bucket_size,
  +                                                   MyMaxItemsCount),
  +                        {MaxItemsCount, merkle_tree:get_bucket(Node), 1};
                  false -> {MyKVItems, LeafCount} = merkle_tree:get_items([Node]),
                           {MyMaxItemsCount, MyKVItems, LeafCount}
              end,
  
positive.code:                       MerkleSyncAccSend, [Sync | MerkleSyncAccRcv], MerkleSyncIN,
                        AccCmp + 1, AccSkip);
         IsLeafNode ->
             MaxItemsCount = if IsLeafHash -> Params#merkle_params.bucket_size;
                                true       -> OtherMaxItemsCount
                             end,
             Sync = {MaxItemsCount, merkle_tree:get_bucket(Node),
                     merkle_tree:get_item_count(Node)},
  
negative.code: -type recon_dest() :: ?RT:key() | random.
  
  -type merkle_sync_rcv() ::
            {MyMaxItemsCount::non_neg_integer(),
             MyKVItems::merkle_tree:mt_bucket(), LeafCount::pos_integer()}.
  -type merkle_sync_send() ::
            {OtherMaxItemsCount::non_neg_integer(),
  