boolean (@NotNull List<? extends PsiElement> elements) { if (elements.size() >= 1 && elements.size() <= 3) { final PsiElement firstElement = elements.get(0); if (firstElement instanceof PsiDeclarationStatement) { final PsiElement lastChild = firstElement.getLastChild(); if (lastChild instanceof PsiErrorElement && PsiTreeUtil.prevLeaf(lastChild) instanceof PsiErrorElement) { // Because an identifier followed by < (less than) is parsed as the start of a declaration // in com.intellij.lang.java.parser.StatementParser.parseStatement() line 236 // but it could just be a comparison return true; } } } return false; }