public Proposal createProposal(
      final ConsensusRoundIdentifier roundIdentifier,
      final QbftBlock block,
      final List<SignedData<RoundChangePayload>> roundChanges,
      final List<SignedData<PreparePayload>> prepares) {

    final ProposalPayload payload = new ProposalPayload(roundIdentifier, block, blockEncoder);

    return new Proposal(createSignedMessage(payload), roundChanges, prepares);
  }
Create proposal.

@param roundIdentifier the round identifier
@param block the block
@param roundChanges the round changes
@param prepares the prepares
@return the proposal
consensus/qbft-core/src/main/java/org/hyperledger/besu/consensus/qbft/core/payload/MessageFactory.java