docs: public void onHeartbeat(MemberImpl member, long timestamp) {
          if (member == null) {
              return;
          }
          long clusterTime = clusterClock.getClusterTime();
          if (logger.isFineEnabled()) {
              logger.fine(format("Received heartbeat from %s (now: %s, timestamp: %s)",
                      member, timeToString(clusterTime), timeToString(timestamp)));
          }
  
          if (clusterTime - timestamp > maxNoHeartbeatMillis / 2) {
              logger.warning(format("Ignoring heartbeat from %s since it is expired (now: %s, timestamp: %s)", member,
                      timeToString(clusterTime), timeToString(timestamp)));
              return;
          }
  
          if (isMaster(member)) {
              clusterClock.setMasterTime(timestamp);
          }
          heartbeatFailureDetector.heartbeat(member, clusterClock.getClusterTime());
  
          MembershipManager membershipManager = clusterService.getMembershipManager();
          membershipManager.clearMemberSuspicion(member.getAddress(), "Valid heartbeat");
          nodeEngine.getQuorumService().onHeartbeat(member, timestamp);
      }