@Override
    public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression) {
      super.visitAssignmentExpression(expression);
      if (expression.getRExpression() == null) return;

      final PsiJavaToken sign = expression.getOperationSign();
      final IElementType tokenType = sign.getTokenType();

      if (!tokenType.equals(JavaTokenType.PLUSEQ)) return;

      if (!checkExpression(expression)) return;

      PsiExpression lhs = PsiUtil.skipParenthesizedExprDown(expression.getLExpression());

      if (!(lhs instanceof PsiReferenceExpression)) return;
      registerError(sign, expression);
    }
@Override
    public void visitAssignmentExpression(@NotNull PsiAssignmentExpression expression)