anchor.diff:          {newobj, NewObj} ->
               VC = riak_object:vclock(NewObj),
               AMObj = enforce_allow_mult(NewObj, BProps),
  -            ObjToStore = riak_object:set_vclock(
  -                           AMObj,
  -                           vclock:prune(VC,PruneTime,BProps)
  -                           ),
  +            case PruneTime of
  +                undefined ->
  +                    ObjToStore = AMObj;
  +                _ ->
  +                    ObjToStore = riak_object:set_vclock(
  +                                   AMObj,
  +                                   vclock:prune(VC,PruneTime,BProps)
  +                                  )
  +            end,
               {true, ObjToStore}
       end.
   
  
positive.code:                   robj :: term(),
                    reqid :: non_neg_integer(),
                    bprops :: maybe_improper_list(),
                    prunetime :: non_neg_integer()}).
  
  %% TODO: add -specs to all public API funcs, this module seems fragile?
  
  
negative.code: 
  %% @private
  % upon receipt of a client-initiated put
  do_put(Sender, {Bucket,_Key}=BKey, RObj, ReqID, StartTime, Options, State) ->
      {ok,Ring} = riak_core_ring_manager:get_my_ring(),
      BProps = riak_core_bucket:get_bucket(Bucket, Ring),
      case proplists:get_value(rr, Options, false) of
          true ->
              PruneTime = undefined;
          false ->
              PruneTime = StartTime
      end,
      PutArgs = #putargs{returnbody=proplists:get_value(returnbody,Options,false),
                         lww=proplists:get_value(last_write_wins, BProps, false),
                         bkey=BKey,
  