@Override
  public QbftBlock createSealedBlock(
      final QbftBlock block, final int roundNumber, final Collection<SECPSignature> commitSeals) {
    final Block besuBlock = BlockUtil.toBesuBlock(block);
    final QbftBlockHeader initialHeader = block.getHeader();
    final BftExtraData initialExtraData =
        bftExtraDataCodec.decode(BlockUtil.toBesuBlockHeader(initialHeader));

    final BftExtraData sealedExtraData =
        new BftExtraData(
            initialExtraData.getVanityData(),
            commitSeals,
            initialExtraData.getVote(),
            roundNumber,
            initialExtraData.getValidators());

    final BlockHeader sealedHeader =
        BlockHeaderBuilder.fromHeader(BlockUtil.toBesuBlockHeader(initialHeader))
            .extraData(bftExtraDataCodec.encode(sealedExtraData))
            .blockHeaderFunctions(BftBlockHeaderFunctions.forOnchainBlock(bftExtraDataCodec))
            .buildBlockHeader();
    final Block sealedBesuBlock = new Block(sealedHeader, besuBlock.getBody());
    return new QbftBlockAdaptor(sealedBesuBlock);
  }
Constructs a new QbftBlockCreator

@param besuBftBlockCreator the Besu BFT block creator
@param bftExtraDataCodec the bftExtraDataCodec used to encode extra data for the new header
consensus/qbft/src/main/java/org/hyperledger/besu/consensus/qbft/adaptor/QbftBlockCreatorAdaptor.java