@Override
  public void manageBlockAdded(
      final BlockHeader blockHeader,
      final List<Transaction> confirmedTransactions,
      final List<Transaction> reorgTransactions,
      final FeeMarket feeMarket) {
    LOG.atTrace()
        .setMessage("Managing new added block {}")
        .addArgument(blockHeader::toLogString)
        .log();

    final var maxConfirmedNonceBySender = maxNonceBySender(confirmedTransactions);

    final var reorgNonceRangeBySender = nonceRangeBySender(reorgTransactions);

    synchronized (this) {
      try {
        prioritizedTransactions.blockAdded(feeMarket, blockHeader, maxConfirmedNonceBySender);
      } catch (final Throwable throwable) {
        LOG.warn(
            "Unexpected error {} when managing added block {}, maxNonceBySender {}, reorgNonceRangeBySender {}",
            throwable,
            blockHeader.toLogString(),
            maxConfirmedNonceBySender,
            reorgTransactions);
        LOG.warn("Stack trace", throwable);
      }

      logBlockHeaderForReplay(blockHeader, maxConfirmedNonceBySender, reorgNonceRangeBySender);
    }
  }
Rebuild the txpool for a sender according to the specified nonce. This is used in case the
account nonce has seen by the txpool is not the correct one (see {@link
LayeredPendingTransactions#hasAccountNonceDisparity(PendingTransaction, long)} for when this
could happen). It works by removing all the txs for the sender and re-adding them using the
passed nonce.

@param sender the sender for which rebuild the txpool
@param stateSenderNonce the world state account nonce to use in the txpool for the sender
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/LayeredPendingTransactions.java