code: public PeriodicSubscriptionQos setPeriodMs(long periodMs) {
          if (periodMs < MIN_PERIOD_MS) {
              this.periodMs = MIN_PERIOD_MS;
              logger.warn("periodMs < MIN_PERIOD_MS. Using MIN_PERIOD_MS: {}", MIN_PERIOD_MS);
          } else if (periodMs > MAX_PERIOD_MS) {
              this.periodMs = MAX_PERIOD_MS;
              logger.warn("periodMs > MAX_PERIOD_MS. Using MAX_PERIOD_MS: {}", MAX_PERIOD_MS);
          } else {
              this.periodMs = periodMs;
          }
  
          if (this.alertAfterIntervalMs != NO_ALERT_AFTER_INTERVAL && this.alertAfterIntervalMs < this.periodMs) {
              this.alertAfterIntervalMs = this.periodMs;
              logger.warn("alertAfterIntervalMs < periodMs. Setting alertAfterIntervalMs = periodMs: {}", this.periodMs);
          }
  
          return this;
      }
docs: Set the period in milliseconds.
  <br>
  The provider will periodically send notifications every period milliseconds.
  The period can thus be seen as a sort of heart beat.<br>
  <br>
  <b>Minimum, Maximum, and Default Values:</b>
  <ul>
  <li>The absolute <b>minimum</b> setting is 50 milliseconds.<br>
  Any value less than this minimum will be treated at the absolute minimum
  setting of 50 milliseconds.
  <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 at the absolute maximum
  setting of 2.592.000.000 milliseconds (30 days).
  <li>The <b>default</b> setting is 50 milliseconds (MIN_PERIOD).
  </ul>
  
  @param periodMs
  The publisher will send a notification at least every period_ms.
  @return this (fluent interface).