diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java index 54e226fbdb00..6cb9ffc256e7 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java @@ -25,6 +25,7 @@ import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.progress.ProgressManager; +import com.intellij.openapi.project.DumbService; import com.intellij.openapi.project.Project; import com.intellij.openapi.roots.LanguageLevelModuleExtension; import com.intellij.openapi.roots.ModuleRootManager; @@ -187,8 +188,9 @@ public class JavaFunctionalExpressionSearcher extends QueryExecutorBase filterInapplicable(List samClasses, VirtualFile vFile, Collection occurrences, Project project) { - return ReadAction.compute(() -> project.isDisposed() ? Collections.emptyList() - : ContainerUtil.filter(occurrences, it -> it.canHaveType(samClasses, vFile))); + return DumbService.getInstance(project).runReadActionInSmartMode( + () -> project.isDisposed() ? Collections.emptyList() + : ContainerUtil.filter(occurrences, it -> it.canHaveType(samClasses, vFile))); } private static boolean processFile(@NotNull Processor consumer,