diff --git a/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java b/src/org/openstreetmap/josm/gui/dialogs/validator/ValidatorTreePanel.java
index 20a8cc4..9871e5f 100644
a
|
b
|
public void destroy() {
|
436 | 436 | @Override public void primitivesRemoved(PrimitivesRemovedEvent event) { |
437 | 437 | // Remove purged primitives (fix #8639) |
438 | 438 | if (errors != null) { |
439 | | for (TestError err : errors) { |
440 | | try { |
441 | | err.getPrimitives().removeAll(event.getPrimitives()); |
442 | | } catch (UnsupportedOperationException e) { |
443 | | if (event.getPrimitives().containsAll(err.getPrimitives())) { |
444 | | err.getPrimitives().clear(); |
445 | | } else { |
446 | | Main.warn(e, "Unable to remove primitives from "+err+'.'); |
447 | | } |
448 | | } |
449 | | } |
| 439 | final Set<? extends OsmPrimitive> deletedPrimitives = new HashSet<>(event.getPrimitives()); |
| 440 | errors.removeIf(error -> error.getPrimitives().stream().anyMatch(deletedPrimitives::contains)); |
450 | 441 | } |
451 | 442 | } |
452 | 443 | |