anchor.diff:  -export([ready/2, queueing/2, ready/3, queueing/3, shutdown/2, shutdown/3]).
   
   %% API
  --export([start_link/5, stop/2, shutdown_pool/2, handle_work/3]).
  +-export([start_link/6, start_link/5, stop/2, shutdown_pool/2, handle_work/3]).
   
   -ifdef(PULSE).
   -compile(export_all).
  
positive.code:         shutdown :: undefined | {pid(), reference()}
      }).
  
  start_link(WorkerMod, PoolSize, VNodeIndex, WorkerArgs, WorkerProps) ->
      gen_fsm:start_link(?MODULE, [WorkerMod, PoolSize,  VNodeIndex, WorkerArgs, WorkerProps], []).
  
  handle_work(Pid, Work, From) ->
      gen_fsm:send_event(Pid, {work, Work, From}).
  
negative.code: shutdown_pool(Pid, Wait) ->
      gen_fsm:sync_send_all_state_event(Pid, {shutdown, Wait}, infinity).
  
  init([WorkerMod, PoolSize, VNodeIndex, WorkerArgs, WorkerProps, Opts]) ->
      {ok, Pid} = poolboy:start_link([{worker_module, riak_core_vnode_worker},
              {worker_args, [VNodeIndex, WorkerArgs, WorkerProps, self()]},
              {worker_callback_mod, WorkerMod},
              {size, PoolSize}, {max_overflow, 0}]),
      DfltStrategy = app_helper:get_env(riak_core, queue_worker_strategy, fifo),
      State = case proplists:get_value(strategy, Opts, DfltStrategy) of
                  fifo ->
                       #state{
                         pool = Pid,
  