@Override
      public void visitElement(@NotNull PsiElement element) {
        if (!(element instanceof Property property)) return;
        if (propertiesBeingCommitted != null && !propertiesBeingCommitted.contains(property)) return;

        if (isPropertyUsed(property, helper, isOnTheFly)) return;

        final ASTNode propertyNode = property.getNode();
        assert propertyNode != null;

        ASTNode[] nodes = propertyNode.getChildren(null);
        PsiElement key = nodes.length == 0 ? property : nodes[0].getPsi();
        LocalQuickFix fix = PropertiesQuickFixFactory.getInstance().createRemovePropertyLocalFix(property);
        holder.registerProblem(key, isOnTheFly ? PropertiesBundle.message("unused.property.problem.descriptor.name")
                                               : PropertiesBundle
                                      .message("unused.property.problem.descriptor.name.offline", property.getUnescapedKey()), fix);
      }
@Override
      public void visitElement(@NotNull PsiElement element)