private static void processComponent(@NotNull PsiElement identifier,
                                       @NotNull PsiClass psiClass,
                                       @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result,
                                       Project project,
                                       GlobalSearchScope candidatesScope) {
    // Components: search for _all_ occurrences
    // - component can be registered multiple times
    // - component-interface can occur multiple times
    List<ComponentCandidate> componentTargets = new SmartList<>();
    IdeaPluginRegistrationIndex.processComponent(project, psiClass, candidatesScope, component -> {
      componentTargets.add(new ComponentCandidate(component));
      return true;
    });
    if (!componentTargets.isEmpty()) {
      result.add(LineMarkerInfoHelper.createComponentLineMarkerInfo(componentTargets, identifier));
    }
  }
private static void processComponent(@NotNull PsiElement identifier,
                                       @NotNull PsiClass psiClass,
                                       @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result,
                                       Project project,
                                       GlobalSearchScope candidatesScope)