code: public OnChangeWithKeepAliveSubscriptionQos setAlertAfterIntervalMs(final long alertAfterIntervalMs) {
          if (alertAfterIntervalMs > MAX_ALERT_AFTER_INTERVAL_MS) {
              this.alertAfterIntervalMs = MAX_ALERT_AFTER_INTERVAL_MS;
              logger.warn("alertAfterIntervalMs > maxInterval. Using MAX_ALERT_AFTER_INTERVAL_MS: {}",
                          MAX_ALERT_AFTER_INTERVAL_MS);
          } else {
              this.alertAfterIntervalMs = alertAfterIntervalMs;
          }
  
          if (this.alertAfterIntervalMs != 0 && this.alertAfterIntervalMs < maxIntervalMs) {
              this.alertAfterIntervalMs = maxIntervalMs;
              logger.warn("attempt to set alertAfterIntervalMs to a value smaller than maxInterval; setting to maxInterval instead");
          }
          return this;
      }
docs: Set the alertAfterInterval in milliseconds.
  <br>
  If no notification was received within the last alert interval, a missed
  publication notification will be raised.
  
  @param alertAfterIntervalMs
  the max time that can expire without receiving a publication
  before an alert will be generated. If more than alertIntervalMs
  pass without receiving a message, subscriptionManager will issue
  a publicationMissed.
  <ul>
  <li><b>Minimum</b> setting: The value cannot be set below the
  value of maxInterval <br>
  If a value is passed that is less than this minimum, maxInterval
  will be used instead.
  <li>The absolute <b>maximum</b> setting is 2.592.000.000
  milliseconds (30 days). <br>
  Any value bigger than this maximum will be treated as the
  absolute maximum setting of 2.592.000.000 milliseconds.
  </ul>
  @return this (fluent interface).