anchor.diff:      {ok, State}.
   
   
  -handle_call(get_worker, From, #state{waiting = Waiting} = State) ->
  +handle_call(get_worker, {FromPid, _} = From, #state{waiting = Waiting, callers = Callers} = State) ->
       #state{url = Url, limit = Limit, busy = Busy, free = Free} = State,
       case length(Busy) >= Limit of
       true ->
  
positive.code:     {stop, normal, ok, State}.
  
  
  handle_cast({release_worker, Worker}, #state{waiting = Waiting} = State) ->
      case is_process_alive(Worker) andalso
          lists:member(Worker, State#state.busy) of
      true ->
  
negative.code:         [Worker | Free2] ->
             ok
          end,
          monitor_use(FromPid, Worker, Callers),
          NewState = State#state{free = Free2, busy = [Worker | Busy]},
          {reply, {ok, Worker}, NewState}
      end;
  