public static UsageSearcher createUsageSearcher(@NotNull FindUsagesHandlerBase handler,
                                                  PsiElement @NotNull [] primaryElements,
                                                  PsiElement @NotNull [] secondaryElements, @NotNull FindUsagesOptions findUsagesOptions) {
    return ReadAction.compute(() -> {
      PsiElement2UsageTargetAdapter[] primaryTargets = PsiElement2UsageTargetAdapter.convert(primaryElements, false);
      PsiElement2UsageTargetAdapter[] secondaryTargets = PsiElement2UsageTargetAdapter.convert(secondaryElements, false);
      return createUsageSearcher(primaryTargets, secondaryTargets, handler, findUsagesOptions, null);
    });
  }
public static UsageSearcher createUsageSearcher(@NotNull FindUsagesHandlerBase handler,
                                                  PsiElement @NotNull [] primaryElements,
                                                  PsiElement @NotNull [] secondaryElements, @NotNull FindUsagesOptions findUsagesOptions)