/**
   * Get the list of ResponseTrackRecords that have ReminderAlerts associated with the specified
   * Alert.
   *
   * @param alertName The Name of the Alert.
   * @return A Set of ResponseTrackRecord entities that are associated to the specified Alert (via
   *     ReminderAlert).
   * @throws Throwable Error in retrieving the associations from DocAlertManager.
   */
  private Set getTrackRecordListForReminderAlertByAlert(String alertName) throws Throwable {
    IDocAlertManagerObj mgr = ServiceLookupHelper.getDocAlertMgr();

    DataFilterImpl filter = new DataFilterImpl();
    filter.addSingleFilter(
        null, ReminderAlert.ALERT_TO_RAISE, filter.getEqualOperator(), alertName, false);

    Set set = new HashSet();

    Collection reminderAlertList = mgr.findReminderAlerts(filter);

    if (reminderAlertList != null) {
      Long trackRecordUid;
      for (Iterator i = reminderAlertList.iterator(); i.hasNext(); ) {
        try {
          trackRecordUid = ((ReminderAlert) i.next()).getTrackRecordUID();
          set.add(mgr.findResponseTrackRecord(trackRecordUid));
        } catch (Exception ex) {
          // ignore if response track record not found
        }
      }
    }

    return set;
  }
  /**
   * Get the list of ResponseTrackRecords that satisfy the specified filter condition.
   *
   * @param filter The filtering condition.
   * @return A Set of ResponseTrackRecord entities that satisfy the filtering condition.
   * @throws Throwable Error in retrieving the associations from DocAlertManager.
   */
  private Set getTrackRecordList(DataFilterImpl filter) throws Throwable {
    Set set = new HashSet();

    Collection recordList = ServiceLookupHelper.getDocAlertMgr().findResponseTrackRecords(filter);

    if (recordList != null) {
      set.addAll(recordList);
    }

    return set;
  }