@Override
  public Void process(final BlockProcessingContext context) {
    super.process(context);
    SystemCallProcessor processor =
        new SystemCallProcessor(context.getProtocolSpec().getTransactionProcessor());

    Bytes inputData = context.getBlockHeader().getParentHash();
    try {
      processor.process(historyStorageAddress, context, inputData);
    } catch (InvalidSystemCallAddressException e) {
      // According to EIP-2935, the system call should fail silently if no code exists at the
      // contract address
      LOG.warn("Invalid system call address: {}", historyStorageAddress);
    }
    return null;
  }
Constructs a BlockHashProcessor with a specified history save window. This constructor is
primarily used for testing.

@param historyStorageAddress the address of the contract storing the history
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/blockhash/PragueBlockHashProcessor.java