boolean (PsiElement position) { PsiElement prev = PsiUtil.getPreviousNonWhitespaceToken(position); if (prev instanceof PsiErrorElement) prev = PsiUtil.getPreviousNonWhitespaceToken(prev); if (prev == null || prev.getNode().getElementType() != GroovyTokenTypes.mQUESTION) return false; final PsiElement pprev = PsiUtil.getPreviousNonWhitespaceToken(prev); if (pprev == null) return false; final IElementType t = pprev.getNode().getElementType(); return t == GroovyTokenTypes.mLT || t == GroovyTokenTypes.mCOMMA; }