public static BlockHeaderBuilder fromHeader(final BlockHeader header) {
    return create()
        .parentHash(header.getParentHash())
        .ommersHash(header.getOmmersHash())
        .coinbase(header.getCoinbase())
        .stateRoot(header.getStateRoot())
        .transactionsRoot(header.getTransactionsRoot())
        .receiptsRoot(header.getReceiptsRoot())
        .logsBloom(header.getLogsBloom())
        .difficulty(header.getDifficulty())
        .number(header.getNumber())
        .gasLimit(header.getGasLimit())
        .gasUsed(header.getGasUsed())
        .timestamp(header.getTimestamp())
        .extraData(header.getExtraData())
        .baseFee(header.getBaseFee().orElse(null))
        .mixHash(header.getMixHash())
        .nonce(header.getNonce())
        .prevRandao(header.getPrevRandao().orElse(null))
        .withdrawalsRoot(header.getWithdrawalsRoot().orElse(null))
        .blobGasUsed(header.getBlobGasUsed().orElse(null))
        .excessBlobGas(header.getExcessBlobGas().orElse(null))
        .parentBeaconBlockRoot(header.getParentBeaconBlockRoot().orElse(null))
        .requestsHash(header.getRequestsHash().orElse(null));
  }
A utility class for building block headers.
ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/BlockHeaderBuilder.java