void (@NotNull PsiAssignmentExpression assignment) { super.visitAssignmentExpression(assignment); final PsiType lType = assignment.getLExpression().getType(); if (lType == null) return; final PsiExpression rExpression = assignment.getRExpression(); if (rExpression == null) return; PsiJavaToken operationSign = assignment.getOperationSign(); IElementType eqOpSign = operationSign.getTokenType(); IElementType opSign = TypeConversionUtil.convertEQtoOperation(eqOpSign); if (opSign == null) return; if (JavaSdkVersion.JDK_1_6.equals(JavaVersionService.getInstance().getJavaSdkVersion(assignment)) && PsiType.getJavaLangObject(assignment.getManager(), assignment.getResolveScope()).equals(lType)) { String operatorText = operationSign.getText().substring(0, operationSign.getText().length() - 1); String message = JavaErrorBundle.message("binary.operator.not.applicable", operatorText, JavaHighlightUtil.formatType(lType), JavaHighlightUtil.formatType(rExpression.getType())); myHolder.registerProblem(assignment, message, ProblemHighlightType.GENERIC_ERROR_OR_WARNING, new ReplaceAssignmentOperatorWithAssignmentFix(operationSign.getText())); } }