public List<BlockSimulationResult> process(
      final BlockHeader header, final BlockSimulationParameter blockSimulationParameter) {
    try (final MutableWorldState ws = getWorldState(header)) {
      return process(header, blockSimulationParameter, ws);
    } catch (IllegalArgumentException | BlockStateCallException e) {
      throw e;
    } catch (final Exception e) {
      throw new RuntimeException("Error simulating block", e);
    }
  }
Processes a list of BlockStateCalls sequentially, collecting the results.

@param header The block header for all simulations.
@param blockSimulationParameter The BlockSimulationParameter containing the block state calls.
@return A list of BlockSimulationResult objects from processing each BlockStateCall.
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/BlockSimulator.java