anchor.diff:                end
         end).
   
  -build_vbmap_chain(Chain, BucketUUID, IxToCouchDict, VBucket) ->
  +build_vbmap_chain(Chain, IxToCouchDict, VBucket) ->
       [NodeIxRaw | _Rest] = Chain,
       expect_number(
         NodeIxRaw, <<"Vbucket map chain">>,
  
positive.code:                               ?log_error("~s", [Msg]),
                                {error, bad_value, iolist_to_binary(Msg)};
                            {ok, URL} ->
                                VBucketURL0 = [URL, "%2f", integer_to_list(VBucket),
                                               "%3b", BucketUUID],
                                VBucketURL = iolist_to_binary(VBucketURL0),
                                {ok, [VBucketURL]}
                        end
                end
        end).
  
negative.code:               end
        end).
  
  build_vbmap(RawVBucketMap, IxToCouchDict) ->
      do_build_vbmap(RawVBucketMap, IxToCouchDict, 0, dict:new()).
  
  do_build_vbmap([], _, _, D) ->
      D;
  do_build_vbmap([ChainRaw | Rest], IxToCouchDict, VBucket, D) ->
      expect_array(
        ChainRaw, <<"vbucket map chain">>,
        fun (Chain) ->
                case build_vbmap_chain(Chain, IxToCouchDict, VBucket) of
                    {ok, FinalChain} ->
                        do_build_vbmap(Rest, IxToCouchDict,
                                       VBucket + 1,
                                       dict:store(VBucket, FinalChain, D));
                    Error ->
  