public boolean validateProposal(final SignedData<ProposalPayload> msg) {

    if (proposal.isPresent()) {
      return handleSubsequentProposal(proposal.get(), msg);
    }

    if (!validateProposalSignedDataPayload(msg)) {
      return false;
    }

    proposal = Optional.of(msg);
    return true;
  }
Validate proposal.

@param msg the msg
@return the boolean
consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/validation/SignedDataValidator.java