@Override
  public boolean match(@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));
    });
  }
@Override
  public boolean match(@NotNull PsiElement matchedNode, int start, int end, @NotNull MatchContext context)