int requestId = resp.getRequestIDSize() == 1 ? resp.getLastRequestID() : resp.removeLastRequestID();
logger.debug("Handling response for tracking ID: " + requestId);
DmpResponseHandlerIF responseHandler = null;
RequestInfo ri = null;
synchronized (outstandingRequests)
{
ri = resp.isLastResponse() ? outstandingRequests.remove(requestId) : outstandingRequests.get(requestId);
if (ri == null)
{
logger.error("No record of request for " + resp.toOIF());
return;
}
responseHandler = ri.responseHandler;
if (ri.responseHandler == ri.firstResponseHandler) ri.responseHandler = ri.asyncResponseHandler;
}
responseHandler.handleResponse(ri.req, resp);
}