private static SyntaxKind ConvertAddRemoveHandlerToCSharpSyntaxKind(VBSyntax.AddRemoveHandlerStatementSyntax node)
            {
                switch (node.Kind())
                {
                case VBasic.SyntaxKind.AddHandlerStatement:
                    return(SyntaxKind.AddAssignmentExpression);

                case VBasic.SyntaxKind.RemoveHandlerStatement:
                    return(SyntaxKind.SubtractAssignmentExpression);

                default:
                    throw new NotImplementedException(node.Kind() + " not implemented!");
                }
            }
            public override SyntaxList <StatementSyntax> VisitAddRemoveHandlerStatement(VBSyntax.AddRemoveHandlerStatementSyntax node)
            {
                var syntaxKind = node.Kind() == VBasic.SyntaxKind.AddHandlerStatement ? SyntaxKind.AddAssignmentExpression : SyntaxKind.SubtractAssignmentExpression;

                return(SingleStatement(SyntaxFactory.AssignmentExpression(syntaxKind,
                                                                          (ExpressionSyntax)node.EventExpression.Accept(nodesVisitor),
                                                                          (ExpressionSyntax)node.DelegateExpression.Accept(nodesVisitor))));
            }