public void removeFilter(IFilter... filtersToRemove) {
        boolean report = false;
        for (IFilter filter : filtersToRemove) {
            if (filters.remove(filter)) {
                filter.removeFilterObserver(this);
                disabledFilters.remove(filter);
                report = true;
            }
        }

        if (report) {
            if (isEnabled() && !filters.isEmpty()
                    && (disabledFilters.size() == filters.size())) {
                super.setEnabled(false);
            } else {
                reportFilterUpdatedToObservers();
            }
        }
    }
public void removeFilter(IFilter... filtersToRemove)