@Override
  public void handleBlockTimerExpiry(final ConsensusRoundIdentifier roundIdentifier) {

    logValidatorChanges(currentRound);

    if (roundIdentifier.equals(currentRound.getRoundIdentifier())) {
      final long headerTimeStampSeconds = Math.round(clock.millis() / 1000D);
      currentRound.createAndSendProposalMessage(headerTimeStampSeconds);
    } else {
      LOG.trace(
          "Block timer expired for a round ({}) other than current ({})",
          roundIdentifier,
          currentRound.getRoundIdentifier());
    }
  }
Instantiates a new Ibft block height manager.

@param parentHeader the parent header
@param finalState the final state
@param roundChangeManager the round change manager
@param ibftRoundFactory the ibft round factory
@param clock the clock
@param messageValidatorFactory the message validator factory
@param messageFactory the message factory
consensus/ibft/src/main/java/org/hyperledger/besu/consensus/ibft/statemachine/IbftBlockHeightManager.java