anchor.diff:      gen_fsm:start(?MODULE, [ReqId,RObj,W,DW,Timeout,From,Options], []).
   
   %% @private
  -init([ReqId,RObj0,W,DW,Timeout,Client,Options]) ->
  +init([ReqId,RObj0,W,DW,Timeout,Client,Options0]) ->
  +    Options = case Options0 of [] -> ?DEFAULT_OPTS; _ -> Options0 end,
       {ok,Ring} = riak_core_ring_manager:get_my_ring(),
       BucketProps = riak_core_bucket:get_bucket(riak_object:bucket(RObj0), Ring),
       AllowMult = proplists:get_value(allow_mult,BucketProps),
       {ok, RClient} = riak:local_client(),
  -    StateData0 = #state{robj=RObj0, client=Client, w=W, dw=DW,
  +    Bucket = riak_object:bucket(RObj0),
  +    Key = riak_object:key(RObj0),    
  +    StateData0 = #state{robj=RObj0, client=Client, w=W, dw=DW, bkey={Bucket, Key},
                           req_id=ReqId, timeout=Timeout, ring=Ring,
                           rclient=RClient, options=proplists:unfold(Options),
  -                        resobjs=[], allowmult=AllowMult},
  +                        resobjs=[], allowmult=AllowMult, reply_arity=1},
       StateData = handle_options(StateData0),
       {ok,initialize,StateData,0}.
   
  
positive.code:           StateData=#state{req_id=ReqId}) ->
      {next_state,waiting_vnode_dw,StateData};
  waiting_vnode_dw({dw, Idx, ReqId},
                   StateData=#state{dw=DW, client=Client, replied_dw=Replied0,
                                    rclient=RClient, robj=RObj}) ->
      Replied = [Idx|Replied0],
      case length(Replied) >= DW of
          true ->
              Client ! {ReqId, ok},
              invoke_hook(postcommit, RClient, RObj),
              update_stats(StateData),
              {stop,normal,StateData};
          false ->
  
negative.code:             StartNow = now(),
              TRef = erlang:send_after(Timeout, self(), timeout),
              RealStartTime = riak_core_util:moment(),
              BucketProps = riak_core_bucket:get_bucket(Bucket, Ring),
              DocIdx = riak_core_util:chash_key({Bucket, Key}),
              Msg = {self(), {Bucket,Key}, RObj1, ReqId, RealStartTime, Options},
              N = proplists:get_value(n_val,BucketProps),
  