protected void processRequests(RequestWriter<Request> writer) throws IOException {
    addThreadToInterrupt();
    try {
      while (!isStopping()) {
        final Request request = myRequests.take();
        LOG.debug("sending request: " + request);
        final TimeoutInfo timeoutInfo = myTimeouts.remove(request.getId());
        if (timeoutInfo != null) {
          myResponseProcessor.registerTimeoutHandler(request.getId(), timeoutInfo.myTimeout, timeoutInfo.myOnTimeout);
        }
        writer.writeRequest(request);
      }
    }
    catch (InterruptedException ignored) {
    }
    setStatus(ConnectionStatus.DISCONNECTED, null);
    removeThreadToInterrupt();
  }
protected void processRequests(RequestWriter<Request> writer)