private Queue<Thread> getOrCreateWaitQueue(TransactionId transactionId) {
    Queue<Thread> threadq = getWaitQueue(transactionId);
    if (threadq == null) {
      threadq = new ConcurrentLinkedQueue<>();
      Queue<Thread> oldq = waitMap.putIfAbsent(transactionId, threadq);
      if (oldq != null) {
        threadq = oldq;
      }
    }
    return threadq;
  }
this map keeps track of all the threads that are waiting in
{@link #tryResume(TransactionId, long, TimeUnit)} for a particular transactionId
geode-core/src/main/java/org/apache/geode/internal/cache/TXManagerImpl.java