void (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(); } } }