@SuppressWarnings("unchecked")
  private T parseResponse(OkHttpPendingResult<T, R> request, Response response)
      throws ApiException, InterruptedException, IOException {
    try {
      T result = parseResponseInternal(request, response);
      metrics.endRequest(null, response.code(), retryCounter);
      return result;
    } catch (Exception e) {
      metrics.endRequest(e, response.code(), retryCounter);
      throw e;
    }
  }
Preserve a request/response pair through an asynchronous callback.
src/main/java/com/google/maps/internal/OkHttpPendingResult.java