@Override
  @VisibleForTesting
  public BlockCreationTimeResult getNextTimestamp(final BlockHeader parentHeader) {
    final BlockCreationTimeResult result = super.getNextTimestamp(parentHeader);

    final long milliSecondsUntilNextBlock =
        result.millisecondsUntilValid() + calculateTurnBasedDelay(parentHeader);

    return new BlockCreationTimeResult(
        result.timestampForHeader(), Math.max(0, milliSecondsUntilNextBlock));
  }
Instantiates a new Clique block scheduler.

@param clock the clock
@param validatorProvider the validator provider
@param localNodeAddress the local node address
@param forksSchedule the transitions
consensus/clique/src/main/java/org/hyperledger/besu/consensus/clique/blockcreation/CliqueBlockScheduler.java