code: public long untrackRequest(String requestDescriptor) {
          Preconditions.checkNotNull(requestDescriptor, "Attempting to untrack a null request descriptor.");
          if (!tracingEnabled) {
              return RequestTag.NON_EXISTENT_ID;
          }
  
          long removedRequestId;
          List<Long> requestIds;
          synchronized (lock) {
              requestIds = ongoingRequests.getIfPresent(requestDescriptor);
              if (requestIds == null || requestIds.size() == 0) {
                  log.debug("Attempting to untrack a non-existing key: {}.", requestDescriptor);
                  return RequestTag.NON_EXISTENT_ID;
              }
  
              if (requestIds.size() > 1) {
                  removedRequestId = requestIds.remove(requestIds.size() - 1);
                  log.debug("{} concurrent requests with same descriptor: {}. Untracking the last of them {}.", requestIds,
                          requestDescriptor, removedRequestId);
                  ongoingRequests.put(requestDescriptor, requestIds);
              } else {
                  ongoingRequests.invalidate(requestDescriptor);
                  removedRequestId = requestIds.get(0);
              }
          }
  
          log.debug("Untracking request {} with id {}.", requestDescriptor, requestIds);
          return removedRequestId;
      }
docs: Removes and returns a request id from an associated request descriptor. If the request descriptor does not exist
  or tracing is disabled, a default request id is returned. In the case that there is only one request id, the
  whole entry is evicted from cache. If there are multiple request ids for a given descriptor, the last request id
  in the list is deleted from the cache.
  
  @param requestDescriptor Request tag to remove from cache.
  @return Request id removed from cache.