void (@NotNull PsiMethodCallExpression expression) { super.visitMethodCallExpression(expression); final PsiReferenceExpression methodExpression = expression.getMethodExpression(); @NonNls final String methodName = methodExpression.getReferenceName(); if (methodName == null) { return; } final boolean resultSet; if (methodName.startsWith("get") || methodName.startsWith("update")) { resultSet = true; } else if (methodName.startsWith("set")) { resultSet = false; } else { return; } final PsiExpressionList argumentList = expression.getArgumentList(); final PsiExpression[] arguments = argumentList.getExpressions(); if (arguments.length == 0) { return; } final PsiExpression argument = arguments[0]; final Object val = ExpressionUtils.computeConstantExpression(argument); if (!(val instanceof Integer) || ((Integer)val).intValue() != 0) { return; } final PsiExpression qualifier = methodExpression.getQualifierExpression(); if (resultSet) { if (TypeUtils.expressionHasTypeOrSubtype(qualifier, "java.sql.ResultSet")) { registerError(argument, Boolean.TRUE); } } else if (arguments.length > 1) { if (TypeUtils.expressionHasTypeOrSubtype(qualifier, "java.sql.PreparedStatement")) { registerError(argument, Boolean.FALSE); } } }