boolean (final Processor<? super AttributeChildDescriptionImpl> processor) { final Set<AttributeChildDescriptionImpl> visited = new HashSet<>(); if (!myStaticGenericInfo.processAttributeChildrenDescriptions(attributeChildDescription -> { visited.add(attributeChildDescription); return processor.process(attributeChildDescription); })) { return false; } for (final AttributeChildDescriptionImpl description : getAttributeChildrenDescriptions()) { if (!visited.contains(description) && !processor.process(description)) { return false; } } return true; }