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