IElementType (@Nullable PsiElement element) { return element == null ? null : element instanceof StubBasedPsiElement ? ((StubBasedPsiElement<?>)element).getElementType() : element instanceof PsiFile ? ((PsiFile)element).getFileElementType() : getElementType(element.getNode()); }