private void cancelInProgressReadOperation() {
      if (!readInProgress.get().isDone()) {
        LOG.debug("Cancelling in progress read operation");
        isCancelled.set(true);
        try {
          waitUntilReadOperationIsCancelled();
          LOG.debug("In progress read operation cancelled");
        } catch (InterruptedException | ExecutionException e) {
          LOG.warn("Error while cancelling in progress read operation", e);
          throw new RuntimeException(e);
        }
      }
    }
Maintains the set of pending transactions received from JSON-RPC or other nodes. Transactions are
removed automatically when they are included in a block on the canonical chain and re-added if a
re-org removes them from the canonical chain again.

<p>This class is safe for use across multiple threads.
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java