private ProtocolSpec getProtocolSpec(final Hash blockHash) {
    return blockchain
        .getBlockByHash(blockHash)
        .map(Block::getHeader)
        .map(protocolSchedule::getByBlockHeader)
        .orElseThrow(() -> new IllegalArgumentException("Block not found: " + blockHash));
  }
Gets block header by hash

@param hash the block hash
@return the block header if block exists otherwise empty
app/src/main/java/org/hyperledger/besu/services/BlockchainServiceImpl.java