anchor.diff:      Locked = get_all_locks(Service, Type, Index, self()),
       build_or_rehash(Self, Locked, Type, State).
   
  -build_or_rehash(Self, Locked, Type, #state{master=Master, service=Service,
  +build_or_rehash(Self, Locked, Type, #state{vnode=VMode, service=Service,
                                              index=Index, trees=Trees}) ->
       case {Locked, Type} of
           {true, build} ->
               lager:info("[AAE:~s] Starting tree build: ~p", [Service, Index]),
  -            fold_keys(Master, Index, Self, has_index_tree(Trees)),
  +            fold_keys(VNode, 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:     end.
  
  -spec object_fold_fun(pid()) -> fun().
  object_fold_fun(Tree) ->
      fun(BKey={Bucket,Key}, RObj, BinBKey) ->
              IndexN = riak_core_util:get_index_n({Bucket, Key}),
              insert([{IndexN, BinBKey, hash_object(BKey, RObj)}],
                     [if_missing],
                     Tree)
      end.
  
negative.code:             Acc2 = maybe_throttle_build(RObj, Limit, Wait, Acc),
              Acc2
      end;
  fold_fun(VNode,Tree, _HasIndexTree = true) ->
      %% Index AAE backend, so hash the indexes
      ObjectFoldFun = object_fold_fun(VNode,Tree),
      IndexFoldFun = index_fold_fun(Tree),
      {Limit, Wait} = get_build_throttle(),
      fun(BKey = {Bucket, Key}, BinObj, Acc) ->
  