private static boolean doExecuteFilters(Collection<OsmPrimitive> all, FilterMatcher filterMatcher) {
boolean changed = false;
for (OsmPrimitive primitive: all) {
FilterType hiddenType = filterMatcher.isHidden(primitive);
if (hiddenType != FilterType.NOT_FILTERED) {
changed |= primitive.setDisabledState(true);
primitive.setHiddenType(hiddenType == FilterType.EXPLICIT);
} else {
FilterType disabledType = filterMatcher.isDisabled(primitive);
if (disabledType != FilterType.NOT_FILTERED) {
changed |= primitive.setDisabledState(false);
primitive.setDisabledType(disabledType == FilterType.EXPLICIT);
} else {
changed |= primitive.unsetDisabledState();