anchor.diff:  has_postcommit_hooks(Bucket) ->
       lists:flatten(proplists:get_all_values(postcommit, riak_core_bucket:get_bucket(Bucket))) /= [].
   
  +client_reply(Reply, #state{client = Client, req_id = ReqId}) ->
  +    Client ! {ReqId, Reply}.
   
   %% ===================================================================
   %% EUnit tests
  
positive.code:             {next_state,execute,StateData,0}
      end.
  
  execute(timeout, StateData0=#state{robj=RObj0, req_id=ReqId, client=Client,
                                        update_last_modified=UpdateLastMod,
                                        timeout=Timeout, ring=Ring, bkey={Bucket,Key}=BKey,
                                        rclient=RClient, vnode_options=VnodeOptions}) ->
      case invoke_hook(precommit, RClient, update_last_modified(UpdateLastMod, RObj0)) of
          fail ->
              Client ! {ReqId, {error, precommit_fail}},
              {stop, normal, StateData0};
          {fail, Reason} ->
              Client ! {ReqId, {error, {precommit_fail, Reason}}},
              {stop, normal, StateData0};
          RObj1 ->
              StartNow = now(),
  
negative.code:             {next_state,waiting_vnode_dw,NewStateData}
      end;
  waiting_vnode_dw({dw, Idx, ResObj, ReqId},
                   StateData=#state{dw=DW, req_id=ReqId, replied_dw=Replied0,
                                    allowmult=AllowMult, returnbody=ReturnBody,
                                    rclient=RClient, resobjs=ResObjs0}) ->
      Replied = [Idx|Replied0],
  