boolean (final Processor<? super PsiReference> processor, PsiManager psiManager, final Property property, final GlobalSearchScope globalSearchScope, final LocalSearchScope filterScope) { final Project project = psiManager.getProject(); final GlobalSearchScope scope = GlobalSearchScope.projectScope(project).intersectWith(globalSearchScope); String name = ReadAction.compute(() -> property.getName()); if (name == null) return true; return psiManager.runInBatchFilesMode(() -> { CommonProcessors.CollectProcessor<VirtualFile> collector = new CommonProcessors.CollectProcessor<>() { @Override protected boolean accept(VirtualFile virtualFile) { return FileTypeRegistry.getInstance().isFileOfType(virtualFile, GuiFormFileType.INSTANCE); } }; PsiSearchHelper.getInstance(project).processCandidateFilesForText(scope, UsageSearchContext.IN_PLAIN_TEXT, true, name, collector); for (final VirtualFile vfile:collector.getResults()) { ProgressManager.checkCanceled(); PsiFile file = ReadAction.compute(() -> PsiManager.getInstance(project).findFile(vfile)); if (!processReferences(processor, file, name, property, filterScope)) { return false; } } return true; }); }