boolean (final @NotNull PsiElement element, @NotNull String stringToSearch, @NotNull GlobalSearchScope searchScope, final @NotNull UsageInfoFactory factory, final @NotNull Processor<? super UsageInfo> processor) { PsiSearchHelper helper = ReadAction.compute(() -> PsiSearchHelper.getInstance(element.getProject())); return helper.processUsagesInNonJavaFiles(element, stringToSearch, (psiFile, startOffset, endOffset) -> { try { UsageInfo usageInfo = ReadAction.compute(() -> factory.createUsageInfo(psiFile, startOffset, endOffset)); return usageInfo == null || processor.process(usageInfo); } catch (ProcessCanceledException e) { throw e; } catch (Exception e) { LOG.error(e); return true; } }, searchScope); }