public void createAndSendProposalMessage(final long headerTimeStampSeconds) {
    final Block block =
        blockCreator.createBlock(headerTimeStampSeconds, this.parentHeader).getBlock();
    final BftExtraData extraData = bftExtraDataCodec.decode(block.getHeader());
    LOG.debug("Creating proposed block. round={}", roundState.getRoundIdentifier());
    LOG.trace(
        "Creating proposed block with extraData={} blockHeader={}", extraData, block.getHeader());
    updateStateWithProposalAndTransmit(block, Optional.empty());
  }
Create and send proposal message.

@param headerTimeStampSeconds the header time stamp seconds
consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftRound.java