code: private void processResponseAcknowledgementData(
              final AbstractBody req) {
          assertLocked();
          
          Long rid = Long.parseLong(req.getAttribute(Attributes.RID));
          if (responseAck.equals(Long.valueOf(-1L))) {
              // This is the first request
              responseAck = rid;
          } else {
              pendingResponseAcks.add(rid);
              // Remove up until the first missing response (or end of queue)
              Long whileVal = Long.valueOf(responseAck.longValue() + 1);
              while (!pendingResponseAcks.isEmpty()
                      && whileVal.equals(pendingResponseAcks.first())) {
                  responseAck = whileVal;
                  pendingResponseAcks.remove(whileVal);
                  whileVal = Long.valueOf(whileVal.longValue() + 1);
              }
          }
      }
docs: Process the response in order to update the response acknowlegement
  data.
  
  This method assumes the lock is currently held.
  
  @param req request