private void processBlock(
      final String[] commaSplit,
      final AbstractPrioritizedTransactions prioritizedTransactions,
      final FeeMarket feeMarket) {
    final Bytes bytes = Bytes.fromHexString(commaSplit[commaSplit.length - 1]);
    final RLPInput rlpInput = new BytesValueRLPInput(bytes, false);
    final BlockHeader blockHeader =
        BlockHeader.readFrom(rlpInput, new MainnetBlockHeaderFunctions());

    final Map<Address, Long> maxNonceBySender = new HashMap<>();
    int i = 3;
    if (!commaSplit[i].equals("")) {
      while (!commaSplit[i].equals("R")) {
        final Address sender = Address.fromHexString(commaSplit[i]);
        final long nonce = Long.parseLong(commaSplit[i + 1]);
        maxNonceBySender.put(sender, nonce);
        i += 2;
      }
    } else {
      ++i;
    }

    ++i;
    final Map<Address, LongRange> nonceRangeBySender = new HashMap<>();
    if (!commaSplit[i].equals("")) {
      for (; i < commaSplit.length - 1; i += 3) {
        final Address sender = Address.fromHexString(commaSplit[i]);
        final long start = Long.parseLong(commaSplit[i + 1]);
        final long end = Long.parseLong(commaSplit[i + 2]);
        nonceRangeBySender.put(sender, new LongRange(start, end));
      }
    }

    if (maxNonceBySender.containsKey(senderToLog) || nonceRangeBySender.containsKey(senderToLog)) {
      LOG.warn(
          "B {} M {} R {} Before {}",
          blockHeader.getNumber(),
          maxNonceBySender.get(senderToLog),
          nonceRangeBySender.get(senderToLog),
          prioritizedTransactions.logSender(senderToLog));
    }
    prioritizedTransactions.blockAdded(feeMarket, blockHeader, maxNonceBySender);
    if (maxNonceBySender.containsKey(senderToLog) || nonceRangeBySender.containsKey(senderToLog)) {
      LOG.warn("After {}", prioritizedTransactions.logSender(senderToLog));
    }
  }
Ignored by default since this is useful to debug issues having a dump of txs that could be
quite big and so could take many minutes to execute. To generate the input file for the test
enable the LOG_FOR_REPLAY logger by adding these parts to the log4j2 configuration: in the
Appenders section add

<pre>{@code
<RollingFile name="txCSV" fileName="/data/besu/tx.csv" filePattern="/data/besu/tx-%d{MM-dd-yyyy}-%i.csv.gz">
   <PatternLayout>
       <Pattern>%m%n</Pattern>
   </PatternLayout>
   <Policies>
       <OnStartupTriggeringPolicy />
   </Policies>
</RollingFile>
}</pre>

in the Loggers section add

<pre>{@code
<Logger name="LOG_FOR_REPLAY" level="TRACE" additivity="false">
   <AppenderRef ref="txCSV" />
</Logger>
}</pre>

restart and let it run until you need it, then copy the CSV in the test resource folder.

@throws IOException when fails to read the resource
ethereum/eth/src/test/java/org/hyperledger/besu/ethereum/eth/transactions/layered/ReplayTest.java