void (@NotNull XmlTag tag, @NotNull ProblemsHolder holder) { for (String attributeName : myAttributeNames) { if (tag.getAttribute(attributeName) != null) { return; } } if (!isClosedTag(tag)) return; PsiElement tagNameElement = getTagNameElement(tag); if (tagNameElement == null) return; LocalQuickFix[] fixes = LocalQuickFix.EMPTY_ARRAY; if (holder.isOnTheFly()) { fixes = new LocalQuickFix[myAttributeNames.length]; for (int i = 0; i < myAttributeNames.length; i++) { fixes[i] = XmlQuickFixFactory.getInstance().insertRequiredAttributeFix(tag, myAttributeNames[i]); } } holder.registerProblem(tagNameElement, XmlAnalysisBundle.message("xml.inspections.tag.should.have.one.of.following.attributes.0", StringUtil.join(myAttributeNames, ", ")), myProblemHighlightType, fixes); }