PsiType (PsiExpression expression) { PsiType argumentType; if (expression instanceof PsiFunctionalExpression) { argumentType = ((PsiFunctionalExpression)expression).getFunctionalInterfaceType(); } else { argumentType = expression.getType(); } return argumentType; }