public int getWaitFactorMultiplier(AlertDefinition definition) {
    // start with the default
    int waitFactor = INTERVAL_WAIT_FACTOR_DEFAULT;

    // coerce the entity into a business object so that the list of parameters
    // can be extracted and used for threshold calculation
    try {
      ServerSource serverSource = (ServerSource) definition.getSource();
      List<ParameterizedSource.AlertParameter> parameters = serverSource.getParameters();
      for (ParameterizedSource.AlertParameter parameter : parameters) {
        Object value = parameter.getValue();

        if (StringUtils.equals(parameter.getName(), STALE_INTERVAL_MULTIPLIER_PARAM_KEY)) {
          waitFactor = getThresholdValue(value, INTERVAL_WAIT_FACTOR_DEFAULT);
        }
      }

      if (waitFactor < 2 || waitFactor > 10) {
        LOG.warn(
            "The interval multipler of {} is outside the valid range for {} and will be set to 2",
            waitFactor, definition.getLabel());

        waitFactor = 2;
      }
    } catch (Exception exception) {
      LOG.error("Unable to read the {} parameter for {}", STALE_INTERVAL_MULTIPLIER_PARAM_KEY,
          StaleAlertRunnable.class.getSimpleName(), exception);
    }

    return waitFactor;
  }
Gets the wait factor multiplier off of the definition, returning
{@link #INTERVAL_WAIT_FACTOR_DEFAULT} if not specified. This will look for
{@link #STALE_INTERVAL_MULTIPLIER_PARAM_KEY} in the definition parameters.
The value returned from this method will be guaranteed to be in the range
of 2 to 10.

@param definition
         the definition to read
@return the wait factor interval multiplier
ambari-server/src/main/java/org/apache/ambari/server/state/alert/AlertHelper.java