anchor.diff:          [Worker | Free2] ->
              ok
           end,
  -        monitor_use(FromPid, Worker, Callers),
  +        monitor_client(Callers, Worker, From),
           NewState = State#state{free = Free2, busy = [Worker | Busy]},
           {reply, {ok, Worker}, NewState}
       end;
  
positive.code:             case queue:out(Waiting) of
              {empty, _} ->
                  {noreply, State#state{busy = Busy2}};
              {{value, {FromPid, _Ref} = From}, Waiting2} ->
                  {ok, Worker} = ibrowse:spawn_link_worker_process(State#state.url),
                  monitor_use(FromPid, Worker, Callers),
                  gen_server:reply(From, {ok, Worker}),
                  {noreply, State#state{busy = [Worker | Busy2], waiting = Waiting2}}
              end
  
negative.code: 
  
  handle_cast({release_worker, Worker}, #state{waiting = Waiting, callers = Callers} = State) ->
      demonitor_client(Callers, Worker),
      case is_process_alive(Worker) andalso
          lists:member(Worker, State#state.busy) of
      true ->
  