docs: public Pair<CompleteTransactionTask, Boolean> pollFirstCompletionTask(CompletionCounter nextTaskCounter) {
  
          // remove from the head
          Pair<CompleteTransactionTask, Boolean> pair = m_compTasks.pollFirstEntry().getValue();
          if (m_compTasks.isEmpty()) {
              return pair;
          }
          // check next task for completion to ensure that the heads on all the site
          // have the same transaction and timestamp
          Pair<CompleteTransactionTask, Boolean> next = peekFirst();
          if (nextTaskCounter.txnId == 0L) {
              nextTaskCounter.txnId = next.getFirst().getMsgTxnId();
              nextTaskCounter.completionCount++;
              nextTaskCounter.timestamp = next.getFirst().getTimestamp();
          } else if (nextTaskCounter.txnId == next.getFirst().getMsgTxnId() &&
                  nextTaskCounter.timestamp == next.getFirst().getTimestamp()) {
              nextTaskCounter.completionCount++;
          }
          return pair;
      }