public void store(final IDialogSettings settings) {
    settings.put("searchString", filterPattern.getFilterExpression());
    settings.put("isCaseSensitive", filterPattern.isCaseSensitive());
    settings.put("isRegularExpression", filterPattern.isRegularExpression());

    for (Entry<String, Boolean> entry : filterPattern.getEventsToFilter().entrySet()) {
      settings.put(entry.getKey(), entry.getValue());
    }

    for (Entry<Field, Boolean> entry : filterPattern.getFieldsToFilter().entrySet()) {
      settings.put(entry.getKey().toString(), entry.getValue());
    }

    settings.put("scope", this.scope);

    if (workingSets != null) {
      String[] wsIds = new String[workingSets.length];
      for (int i = 0; i < workingSets.length; i++) {
        wsIds[i] = workingSets[i].getName();
      }
      settings.put("workingSets", wsIds);
    } else {
      settings.put("workingSets", new String[0]);
    }
  }
 public SortedMap<String, Boolean> getEvents() {
   return filterPattern.getEventsToFilter();
 }