void (@NotNull PsiTypeElement typeElement) { final PsiElement other = myMatchingVisitor.getElement(); // might not be a PsiTypeElement if (!myMatchingVisitor.setResult(matchAnnotations(typeElement, other))) { return; } final PsiTypeElement[] typeElementChildren = PsiTreeUtil.getChildrenOfType(typeElement, PsiTypeElement.class); if (typeElementChildren != null && typeElementChildren.length > 1) { // multi catch type element final PsiTypeElement[] typeElementChildren2 = PsiTreeUtil.getChildrenOfType(other, PsiTypeElement.class); myMatchingVisitor.setResult( typeElementChildren2 != null && myMatchingVisitor.matchInAnyOrder(typeElementChildren, typeElementChildren2)); } else { myMatchingVisitor.setResult(matchType(typeElement, other)); } }