PsiMatcher (PsiMatcherExpression e) { final PsiElement[] children = myElement.getChildren(); for (PsiElement child : children) { myElement = child; if (e == null || e.match(myElement) == Boolean.TRUE) { return this; } } return NullPsiMatcherImpl.INSTANCE; }