code: public RecordedRequest takeRequest(long timeout, TimeUnit unit) throws InterruptedException {
      return requestQueue.poll(timeout, unit);
    }
docs: Awaits the next HTTP request (waiting up to the specified wait time if necessary), removes it,
  and returns it. Callers should use this to verify the request was sent as intended within the
  given time.
  
  @param timeout how long to wait before giving up, in units of {@code unit}
  @param unit a {@code TimeUnit} determining how to interpret the {@code timeout} parameter
  @return the head of the request queue