anchor.diff:      Locked = get_all_locks(Service, Type, Index, self()),
       build_or_rehash(Self, Locked, Type, State).
   
  -build_or_rehash(Self, Locked, Type,
  -                #state{service=Service, index=Index, trees=Trees}) ->
  +build_or_rehash(Self, Locked, Type, #state{master=Master, service=Service,
  +                                           index=Index, trees=Trees}) ->
       case {Locked, Type} of
           {true, build} ->
               lager:info("[AAE:~s] Starting tree build: ~p", [Service, Index]),
  -            fold_keys(Index, Self, has_index_tree(Trees)),
  +            fold_keys(Master, Index, Self, has_index_tree(Trees)),
               lager:info("[AAE:~s] Finished tree build: ~p", [Service, Index]),
               gen_server:cast(Self, build_finished);
           {true, rehash} ->
  
positive.code:                                         {iterator_refresh, true}]),
      riak_core_vnode_master:sync_command({Partition, node()},
                                          Req,
                                          riak_core_vnode_master, infinity),
      ok.
  
  get_build_throttle() ->
  
negative.code: %% before the fold reaches the now out-of-date version of the object, the old
  %% key/hash pair will be ignored.
  %% If `HasIndexTree` is true, also update the index spec tree.
  -spec fold_keys(atom(), index(), pid(), boolean()) -> ok.
  fold_keys(Master, Partition, Tree, HasIndexTree) ->
      FoldFun = fold_fun(Tree, HasIndexTree),
      Req = riak_core_util:make_fold_req(FoldFun,
                                         0, false, 
  