anchor.diff:          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}.
   
  
positive.code: %% Private Functions
  %%
  
  % Lookup the #entry record specified by Bucket/Key.    
  % Returns {value, Entry} or none.
  obj_find(Bucket, Key, State) -> 
  
negative.code: 
  -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])).
  