private static boolean processReferencesInUIForms(final Processor<? super PsiReference> processor,
                                                    PsiManager psiManager,
                                                    final PropertiesFile propFile,
                                                    final GlobalSearchScope globalSearchScope,
                                                    final LocalSearchScope filterScope) {
    final Project project = psiManager.getProject();
    GlobalSearchScope scope = GlobalSearchScope.projectScope(project).intersectWith(globalSearchScope);
    final String baseName = ReadAction.compute(() -> propFile.getResourceBundle().getBaseName());
    PsiFile containingFile = ReadAction.compute(() -> propFile.getContainingFile());

    PsiFile[] files = ReadAction.nonBlocking(() -> {
      return CacheManager.getInstance(project).getFilesWithWord(baseName, UsageSearchContext.IN_PLAIN_TEXT, scope, true);
    }).inSmartMode(project).executeSynchronously();
    return processReferencesInFiles(Arrays.asList(files), psiManager, baseName, containingFile, filterScope, processor);
  }
private static boolean processReferencesInUIForms(final Processor<? super PsiReference> processor,
                                                    PsiManager psiManager,
                                                    final PropertiesFile propFile,
                                                    final GlobalSearchScope globalSearchScope,
                                                    final LocalSearchScope filterScope)