@Override
      public void visitXmlAttribute(@NotNull XmlAttribute attribute) {
        super.visitXmlAttribute(attribute);
        final XmlAttributeDescriptor descriptor = attribute.getDescriptor();
        if (!(descriptor instanceof JavaFxPropertyAttributeDescriptor)) return;
        final String attributeName = attribute.getName();
        final String attributeValue = attribute.getValue();
        if (attributeValue == null ||
            attributeValue.startsWith("$") ||
            attributeValue.startsWith("#") ||
            attributeValue.startsWith("%") ||
            FxmlConstants.FX_ID.equals(attributeName) ||
            FxmlConstants.FX_VALUE.equals(attributeName) ||
            FxmlConstants.FX_CONSTANT.equals(attributeName) ||
            FxmlConstants.FX_CONTROLLER.equals(attributeName)) {
          return;
        }
        final PsiClass tagClass = JavaFxPsiUtil.getTagClass(attribute.getParent());
        final String defaultValue = getDefaultValue(attributeName, tagClass);
        if (defaultValue == null) return;

        if (isEqualValue(tagClass, attributeValue, defaultValue, descriptor.getDeclaration())) {
          holder.registerProblem(attribute, JavaFXBundle.message("inspection.javafx.redundant.property.values.problem"),
                                 ProblemHighlightType.GENERIC_ERROR_OR_WARNING,
                                 new RemoveAttributeIntentionFix(attributeName));
        }
      }
@Override
      public void visitXmlAttribute(@NotNull XmlAttribute attribute)