boolean (@NotNull final Usage usage, final UsageTarget @NotNull [] searchForTarget) { if (!(usage instanceof PsiElementUsage)) return false; return ReadAction.compute(() -> { final PsiElement element = ((PsiElementUsage)usage).getElement(); if (element == null) return false; for (UsageTarget ut : searchForTarget) { if (ut instanceof PsiElementUsageTarget) { if (isSelfUsage(element, ((PsiElementUsageTarget)ut).getElement())) { return true; } } } return false; }); }