anchor.diff:  %%      out of date if called immediately after any operation that
   %%      either adds the first key or removes the last remaining key from
   %%      a bucket.
  -stream_list_buckets(Filter, Timeout, Client, 
  +stream_list_buckets(Filter, Timeout, Client,
                       {?MODULE, [_Node, _ClientId]}=THIS) when is_pid(Client) ->
       stream_list_buckets(Filter, Timeout, Client, <<"default">>, THIS);
   stream_list_buckets(Filter, Timeout, Type,
  
positive.code:             riak_kv_keys_fsm:ack_keys(From),
              wait_for_listkeys(ReqId, [Res|Acc]);
          {ReqId,{keys,Res}} -> wait_for_listkeys(ReqId, [Res|Acc]);
          {ReqId, {error, Error}} -> {error, Error}
      end.
  
  %% @private
  wait_for_listbuckets(ReqId) ->
      receive
          {ReqId,{buckets, Buckets}} -> 
              {ok, Buckets};
          {ReqId, Error} -> 
              {error, Error}
      end.
  
  
negative.code: %%      Key lists are updated asynchronously, so this may be slightly
  %%      out of date if called immediately after a put or delete.
  list_keys(Bucket, Filter, Timeout0, {?MODULE, [Node, _ClientId]}) ->
      Timeout =
          case Timeout0 of
              T when is_integer(T) -> T;
              _ -> ?DEFAULT_TIMEOUT*8
          end,
      Me = self(),
  