boolean (@NotNull PsiElement matchedNode, int start, int end, @NotNull MatchContext context) { matchedNode = StructuralSearchUtil.getParentIfIdentifier(matchedNode); final List<PsiReference> references = PsiReferenceService.getService().getReferences(matchedNode, PsiReferenceService.Hints.NO_HINTS); return references.stream().map(PsiReference::resolve).filter(Objects::nonNull).anyMatch(t -> { StructuralSearchProfile profile = StructuralSearchUtil.getProfileByPsiElement(t); return profile != null && matcher.matchNode(profile.extendMatchedByDownUp(t)); }); }