public Proposal createProposal(
      final ConsensusRoundIdentifier roundIdentifier,
      final Block block,
      final Optional<RoundChangeCertificate> roundChangeCertificate) {

    final ProposalPayload payload = new ProposalPayload(roundIdentifier, block.getHash());

    return new Proposal(createSignedMessage(payload), block, roundChangeCertificate);
  }
Create proposal.

@param roundIdentifier the round identifier
@param block the block
@param roundChangeCertificate the round change certificate
@return the proposal
consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/payload/MessageFactory.java