public final void renderViolations() { violationRenderedComponents = new HashSet<>(); // Clean up previous hints for (final RenderingContext renderingContext : renderingContexts) { final Renderer renderer = renderingContext.getRenderer(); renderer.clean(renderingContext); } // Adding new ones based on validation results for (final RenderingContext renderingContext : renderingContexts) { final Renderer renderer = renderingContext.getRenderer(); if (!violationRenderedComponents.contains(renderingContext.getComponent())) { if (renderer.renderViolation(renderingContext)) { violationRenderedComponents.add(renderingContext.getComponent()); } } } }