boolean (Object element, @Nullable PsiElement context) { if (!(element instanceof PsiElement)) return false; PsiElement prevLeaf = PsiTreeUtil.prevVisibleLeaf((PsiElement)element); if (prevLeaf == null) return false; PsiElement parent = PsiTreeUtil.findFirstParent(prevLeaf, element1 -> pattern.accepts(element1)); if (parent == null) return false; if (PsiTreeUtil.hasErrorElements(parent)) return false; return prevLeaf.getTextRange().getEndOffset() == parent.getTextRange().getEndOffset(); }