@Override public void visitMethodCallExpression(PsiMethodCallExpression methodCallExpression) { super.visitMethodCallExpression(methodCallExpression); if (!MethodCallUtils.isSimpleCallToMethod( methodCallExpression, "javax.servlet.http.HttpSession", PsiType.VOID, "putValue", "java.lang.String", "java.lang.Object") && !MethodCallUtils.isSimpleCallToMethod( methodCallExpression, "javax.servlet.http.HttpSession", PsiType.VOID, "setAttribute", "java.lang.String", "java.lang.Object")) { return; } final PsiExpressionList argumentList = methodCallExpression.getArgumentList(); final PsiExpression[] arguments = argumentList.getExpressions(); if (arguments.length != 2) { return; } final PsiExpression argument = arguments[1]; final PsiType argumentType = argument.getType(); if (argumentType == null) { return; } if (SerializationUtils.isProbablySerializable(argumentType)) { return; } registerError(argument); }