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:                 <<"vBucketMap">>, ServerMap, <<"vbucket server map">>,
                  fun (VBucketMap) ->
                          CAPIVBucketMapDict =
                              build_vbmap(VBucketMap,
                                          BucketUUID, IxToCouchDict),
  
                          #remote_cluster{uuid=ClusterUUID,
                                          cert=ClusterCert} = RemoteCluster,
  
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 ->
  