private void importBlockToChain() {

    final QbftBlock blockToImport =
        blockCreator.createSealedBlock(
            roundState.getProposedBlock().get(),
            roundState.getRoundIdentifier().getRoundNumber(),
            roundState.getCommitSeals());

    final long blockNumber = blockToImport.getHeader().getNumber();
    if (getRoundIdentifier().getRoundNumber() > 0) {
      LOG.info(
          "Importing proposed block to chain. round={}, hash={}",
          getRoundIdentifier(),
          blockToImport.getHash());
    } else {
      LOG.debug(
          "Importing proposed block to chain. round={}, hash={}",
          getRoundIdentifier(),
          blockToImport.getHash());
    }

    final QbftBlockImporter blockImporter =
        protocolSchedule.getBlockImporter(blockToImport.getHeader());
    final boolean result = blockImporter.importBlock(blockToImport);
    if (!result) {
      LOG.error(
          "Failed to import proposed block to chain. block={} blockHeader={}",
          blockNumber,
          blockToImport.getHeader());
    } else {
      notifyNewBlockListeners(blockToImport);
    }
  }
Construct prepared certificate.

@return the optional PreparedCertificate
consensus/qbft-core/src/main/java/org/hyperledger/besu/consensus/qbft/core/statemachine/QbftRound.java