public override object VisitAssignmentExpression(AssignmentExpression assignmentExpression, object data)
            {
                var ns = assignmentExpression.GetCurrentNamespace();
                var variable = assignmentExpression.Left.GetIdentifier();
                var fullVariableName = ns + "." + variable;

                if(_codebaseDeclarations.Any(a => a.FullName == fullVariableName && a.DeclarationClassType == TypeDeclarationKind.Event) && assignmentExpression.Operator == AssignmentOperatorType.Add)
                {
                    UnlockWith(assignmentExpression);
                }

                return base.VisitAssignmentExpression(assignmentExpression, data);
            }
            public override object VisitAssignmentExpression(AssignmentExpression assignmentExpression, object data)
            {
                var ns               = assignmentExpression.GetCurrentNamespace();
                var variable         = assignmentExpression.Left.GetIdentifier();
                var fullVariableName = ns + "." + variable;

                if (_codebaseDeclarations.Any(a => a.FullName == fullVariableName && a.DeclarationClassType == TypeDeclarationKind.Event) && assignmentExpression.Operator == AssignmentOperatorType.Subtract)
                {
                    UnlockWith(assignmentExpression);
                }

                return(base.VisitAssignmentExpression(assignmentExpression, data));
            }