diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java index b187d80a3957..9d2530cd2eff 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/dataFlow/StringExpressionHelper.java @@ -20,7 +20,7 @@ import com.intellij.psi.*; import com.intellij.psi.search.SearchScope; import com.intellij.psi.search.searches.MethodReferencesSearch; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.util.Processor; +import com.intellij.util.CommonProcessors; import com.intellij.util.containers.hash.HashSet; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -161,18 +161,20 @@ public class StringExpressionHelper { @NotNull public static Set searchMethodCalls(@NotNull final PsiMethod psiMethod, @NotNull SearchScope searchScope) { final Set callExpressions = new com.intellij.util.containers.HashSet(); - MethodReferencesSearch.search(psiMethod, searchScope, true).forEach(new Processor() { - @Override - public boolean process(PsiReference psiReference) { - final PsiMethodCallExpression methodCallExpression = - PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiMethodCallExpression.class); + final CommonProcessors.CollectUniquesProcessor consumer = new CommonProcessors.CollectUniquesProcessor(); - if (methodCallExpression != null) { - callExpressions.add(methodCallExpression); - } - return true; + MethodReferencesSearch.search(psiMethod, searchScope, true).forEach(consumer); + + for (PsiReference psiReference : consumer.getResults()) { + final PsiMethodCallExpression methodCallExpression = + PsiTreeUtil.getParentOfType(psiReference.getElement(), PsiMethodCallExpression.class); + + if (methodCallExpression != null) { + callExpressions.add(methodCallExpression); } - }); + } + + return callExpressions; } }