public static RoundChangePayload readFrom(final RLPInput rlpInput) {
    rlpInput.enterList();
    final ConsensusRoundIdentifier roundIdentifier = readConsensusRound(rlpInput);
    final Optional<PreparedRoundMetadata> preparedRoundMetadata;

    rlpInput.enterList();
    if (rlpInput.isEndOfCurrentList()) {
      preparedRoundMetadata = Optional.empty();
    } else {
      preparedRoundMetadata = Optional.of(PreparedRoundMetadata.readFrom(rlpInput));
    }
    rlpInput.leaveList();

    rlpInput.leaveList();
    return new RoundChangePayload(roundIdentifier, preparedRoundMetadata);
  }
Read from rlp input and return round change payload.

@param rlpInput the rlp input
@return the round change payload
consensus/qbft-core/src/main/java/org/hyperledger/besu/consensus/qbft/core/payload/RoundChangePayload.java