docs: private void checkClockDrift(long intervalMillis) {
          long now = Clock.currentTimeMillis();
          // compensate for any abrupt jumps forward in the system clock
          if (lastHeartbeat != 0L) {
              long clockJump = now - lastHeartbeat - intervalMillis;
              long absoluteClockJump = Math.abs(clockJump);
  
              if (absoluteClockJump > CLOCK_JUMP_THRESHOLD) {
                  logger.info(format("System clock apparently jumped from %s to %s since last heartbeat (%+d ms)",
                          timeToString(lastHeartbeat), timeToString(now), clockJump));
  
                  // We only set cluster clock, if clock jumps more than threshold.
                  // If the last cluster-time diff we've seen is significantly different than what we read now,
                  // that means, it's already adjusted by master heartbeat. Then don't update the cluster time again.
                  long currentClusterTimeDiff = clusterClock.getClusterTimeDiff();
                  if (Math.abs(lastClusterTimeDiff - currentClusterTimeDiff) < CLOCK_JUMP_THRESHOLD) {
                      // adjust cluster clock due to clock drift
                      clusterClock.setClusterTimeDiff(currentClusterTimeDiff - clockJump);
                  }
              }
  
              if (absoluteClockJump >= maxNoHeartbeatMillis / 2) {
                  logger.warning(format("Resetting heartbeat timestamps because of huge system clock jump!"
                          + " Clock-Jump: %d ms, Heartbeat-Timeout: %d ms", clockJump, maxNoHeartbeatMillis));
                  resetHeartbeats();
              }
          }
          lastClusterTimeDiff = clusterClock.getClusterTimeDiff();
          lastHeartbeat = now;
      }