From 0dec8432d541dbbbae83622489fa3171230bb406 Mon Sep 17 00:00:00 2001
From: Anna Kozlova <anna.kozlova@jetbrains.com>
Date: Wed, 24 Aug 2016 12:13:19 +0300
Subject: [PATCH] unused declaration: check before deletion if element had a
 problem and not just to support hierarchy here

---
 .../codeInspection/deadCode/UnusedDeclarationPresentation.java | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationPresentation.java b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationPresentation.java
index 7dc55f6430a4..d60b49e98566 100644
--- a/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationPresentation.java
+++ b/java/java-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationPresentation.java
@@ -217,10 +217,11 @@ public class UnusedDeclarationPresentation extends DefaultInspectionToolPresenta
       if (!super.applyFix(refElements)) return false;
       final PsiElement[] psiElements = Arrays
         .stream(refElements)
-        .filter(RefElement.class::isInstance)
+        .filter((obj) -> obj instanceof RefJavaElement && getFilter().accepts((RefJavaElement)obj))
         .map(e -> ((RefElement) e).getElement())
         .filter(e -> e != null)
         .toArray(PsiElement[]::new);
+      if (psiElements.length == 0) return false;
       ApplicationManager.getApplication().invokeLater(() -> {
         final Project project = getContext().getProject();
         if (isDisposed() || project.isDisposed()) return;
-- 
GitLab