anchor.diff:  
   -module (riak_cache_backend).
   -export([start/2, stop/1, get/2, put/3, list/1, list_bucket/2, delete/2]).
  +-export([drop/1, is_empty/1, fold/3]).
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2, code_change/3]).
   
   -define(PRINT(Var), error_logger:info_msg("DEBUG: ~p:~p - ~p: ~p~n", [?MODULE, ?LINE, ??Var, Var])).
  
positive.code: 
  delete(State, BKey) -> 
      gen_server:call(State, {delete, BKey}).
  
  stop(State) -> 
      gen_server:call(State, stop).
  
negative.code:         none -> 
              {reply, [], State}
      end;
  handle_call(drop, _From, State=#state{time_tree=TT}) ->
      [timer:cancel(E#entry.tref) || {_, E} <- gb_trees:to_list(TT)],
      {reply, ok, State#state{obj_tree=gb_trees:empty(), 
                              time_tree=gb_trees:empty(),
                              used_memory=0}};
  handle_call(is_empty, _From, State) ->
      {reply, AllKeys, State} = handle_call(list, _From, State),
      case AllKeys of
          [] ->
              {reply, true, State};
          _ ->
              {reply, false, State}
      end;
  handle_call({fold, Fun0, Acc}, _From, State) ->
      {reply, Keys, _} = handle_call(list, _From, State),
      Reply = do_fold(State, Keys, Fun0, Acc),
      {reply, Reply, State};
  handle_call(stop, _From, State) -> 
      {reply, ok, State}.
  
  