diff --git a/java/java-impl/src/com/intellij/codeInspection/util/IteratorDeclaration.java b/java/java-impl/src/com/intellij/codeInspection/util/IteratorDeclaration.java index 84ab42d0743e..241ca3f2e713 100644 --- a/java/java-impl/src/com/intellij/codeInspection/util/IteratorDeclaration.java +++ b/java/java-impl/src/com/intellij/codeInspection/util/IteratorDeclaration.java @@ -102,7 +102,7 @@ public class IteratorDeclaration { PsiElement element = declaration.getDeclaredElements()[0]; if (!(element instanceof PsiLocalVariable)) return null; PsiLocalVariable variable = (PsiLocalVariable)element; - PsiExpression initializer = variable.getInitializer(); + PsiExpression initializer = PsiUtil.skipParenthesizedExprDown(variable.getInitializer()); if (!(initializer instanceof PsiMethodCallExpression)) return null; PsiMethodCallExpression call = (PsiMethodCallExpression)initializer; if (!call.getArgumentList().isEmpty()) return null; diff --git a/java/java-tests/testData/inspection/java8CollectionRemoveIf/beforeIteratorRemoveInline.java b/java/java-tests/testData/inspection/java8CollectionRemoveIf/beforeIteratorRemoveInline.java index 102dd89afd68..aeeb9010166e 100644 --- a/java/java-tests/testData/inspection/java8CollectionRemoveIf/beforeIteratorRemoveInline.java +++ b/java/java-tests/testData/inspection/java8CollectionRemoveIf/beforeIteratorRemoveInline.java @@ -4,7 +4,7 @@ import java.util.List; public class Main { public void testIterator(List> data, boolean b) { - for(Iterator> iter = data.iterator(); iter.hasNext();) { + for(Iterator> iter = (data.iterator()); iter.hasNext();) { if(iter.next().isEmpty() && /* also check the flag */ b) { iter.remove(); }