anchor.diff:       {stopped, {call, Backend, stop, [State]}}
       ].
   
  -precondition(_From,_To,#qcst{backend=Backend},{call, _M, fold_keys, [_FoldFun, _Acc, [{index, Bucket, _}], BeState]}) ->
  +dynamic_precondition(_From,_To,#qcst{backend=Backend},{call, _M, fold_keys, [_FoldFun, _Acc, [{index, Bucket, _}], BeState]}) ->
       {ok, Capabilities} = Backend:capabilities(Bucket, BeState),
       lists:member(indexes, Capabilities);
  +dynamic_precondition(_From,_To,_S,_C) ->
  +    true.
  +
   precondition(_From,_To,_S,_C) ->
       true.
   
  
positive.code: 
  %% Helpers
  -export([drop/2,
           init_backend/3]).
  
  -define(TEST_ITERATIONS, 50).
  
negative.code:             NewState
      end.
  
  delete(Bucket, Key, Backend, BackendState, Indexes) ->
      IndexSpecs = [{remove, Idx, SKey} || {B,Idx,SKey,K} <- Indexes,
                                           B == Bucket,
                                           K == Key],
      case Backend:delete(Bucket, Key, IndexSpecs, BackendState) of
          {ok, NewState} ->
              {ok, NewState};
          {error, Reason, _NewState} ->
              {error, Reason}
      end.
  
  get_fold_buffer() ->
      riak_kv_fold_buffer:new(100,
                              get_fold_buffer_fun({raw, foldid, self()})).
  