/**
   * Reads data from the form into the filter repository that was passed-in in the constructor
   * (returned by {@link #getFilterRepository})
   */
  void updateFilters() {
    filterRepository.clear(); // throw away all original filters

    Iterator filterIt = filterModel.iterator();
    while (filterIt.hasNext()) {
      TaskFilter f = (TaskFilter) filterIt.next();
      if (filter2keywords.get(f.getKeywordsFilter()) != null)
        f.setKeywordsFilter(
            filter2keywords.get(f.getKeywordsFilter()).getFilter()); // has panel, was touched

      if (filter2types.get(f.getTypesFilter()) != null)
        f.setTypesFilter(
            filter2types.get(f.getTypesFilter()).getFilter()); // has panel, was touched

      filterRepository.add(f);
    }
    if (filterModel.getSelectedFilter() != null) {
      filterRepository.setActive(filterModel.getSelectedFilter());
    }
  }