@Override
  public void processQuery(@NotNull DefinitionsScopedSearch.SearchParameters queryParameters, @NotNull Processor<? super PsiElement> consumer) {
    final PsiElement element = queryParameters.getElement();
    Property prop = ReadAction.compute(() -> GotoPropertyParentDeclarationHandler.findProperty(element));
    if (prop == null || !(queryParameters.getScope() instanceof GlobalSearchScope)) {
      return;
    }
    ReadAction.run(() -> {
      final String key = prop.getKey();
      if (!prop.isValid() || key == null) return;
      final PropertiesFile currentFile = PropertiesImplUtil.getPropertiesFile(prop.getContainingFile());
      LOG.assertTrue(currentFile != null);
      final GlobalSearchScope scope = (GlobalSearchScope)queryParameters.getScope();
      for (PropertiesFile f : currentFile.getResourceBundle().getPropertiesFiles()) {
        if (f.equals(currentFile) &&
            scope.contains(f.getVirtualFile()) &&
            PropertiesUtil.getParent(f, Collections.singleton(currentFile)) == currentFile) {
          IProperty byKey = f.findPropertyByKey(key);
          if (byKey != null) {
            PsiElement psiElement = byKey.getPsiElement();
            ProgressManager.checkCanceled();
            if (!consumer.process(psiElement)) {
              break;
            }
          }
        }
      }
    });
  }
@Override
  public void processQuery(@NotNull DefinitionsScopedSearch.SearchParameters queryParameters, @NotNull Processor<? super PsiElement> consumer)