anchor.diff:          [{AppName, PoolName} || {AppName, AppPools} <- Config, {PoolName, _PoolConfig} <- AppPools]
       ),
   
  -    {ok, #state{orig_pools = Pools, curr_pools = Pools}}.
  +    {ok, #state{orig_pools = Pools, curr_pools = Pools, default_app = DefaultApp}}.
  +
  +handle_call({get_pool, undefined}, _From, State = #state{default_app = undefined}) ->
  +    {reply, {error, no_pools_found}, State};
  +
  +handle_call({get_pool, undefined}, From, State = #state{default_app = DefaultApp}) ->
  +    handle_call({get_pool, DefaultApp}, From, State);
   
   handle_call({get_pool, ForApp}, _From, State = #state{orig_pools = OPools, curr_pools = CPools}) ->
       case dict:find(ForApp, CPools) of
  
positive.code: 
  init([]) ->
      {ok, Config} = application:get_env(riak_pool, pools),
      Pools = lists:foldl(
          fun ({AppName, PoolName}, Acc) ->
              dict:append(AppName, PoolName, Acc)
  
negative.code: -define(POOL_TIMEOUT, 1000).
  
  -record(state, {
      orig_pools      :: dict(),
      curr_pools      :: dict(),
      default_app     :: atom()
  }).
  
  %%%===================================================================
  