private boolean handleSubsequentProposal(
      final SignedData<ProposalPayload> existingMsg, final SignedData<ProposalPayload> newMsg) {
    if (!existingMsg.getAuthor().equals(newMsg.getAuthor())) {
      LOG.info("Received subsequent invalid Proposal message; sender differs from original.");
      return false;
    }

    final ProposalPayload existingData = existingMsg.getPayload();
    final ProposalPayload newData = newMsg.getPayload();

    if (!proposalMessagesAreIdentical(existingData, newData)) {
      LOG.info("Received subsequent invalid Proposal message; content differs from original.");
      return false;
    }

    return true;
  }
Validate proposal.

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