anchor.diff:      {ok, Asset} ->
         logger:debug("Leased asset for pool ~p~n", [Pid]),
         spawn(fun() -> process_now(Pid, Request, Asset) end),
  -      State2;
  +      State2#state{pending = Pending2};
       empty ->
  -      logger:debug("Post queueing request for pool ~p~n", [Pid]),
  -      Pending2 = queue:in(Request, State#state.pending),
  -      State2#state{pending = Pending2}
  +      State
     end.
   
   process_now(Pid, Request, Asset) ->
  
positive.code: -behaviour(gen_server).
  
  %% api
  -export([start_link/1, start/1, process/1, asset_freed/0]).
  
  %% gen_server callbacks
  -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
negative.code:     _AnyError -> ok
    after
      asset_pool:return(Pid, Asset),
      ernie_server:kick(),
      gen_tcp:close(Request#request.sock)
    end.
  
  