public override void VisitLocalDeclarationStatement(LocalDeclarationStatementSyntax node)
 {
     node.Declaration.Accept(this);
     LastStatement = LastVariableDeclaration;
     LastStatement.LeadingComments  = NoApexComments.Concat(Comments.Leading(node)).ToList();
     LastStatement.TrailingComments = Comments.Trailing(node);
 }
        public override void VisitExpressionStatement(ExpressionStatementSyntax node)
        {
            // skip stateements starting with the signature
            if (node.ToString().StartsWith(NoApexSignature))
            {
                NoApexComments = CommentOutNoApexCode(node.ToString() + Environment.NewLine);
                return;
            }

            // also handles SOQL insert/update/delete statements
            LastStatement = new ApexStatementSyntax
            {
                LeadingComments  = NoApexComments.Concat(Comments.Leading(node)).ToList(),
                TrailingComments = Comments.Trailing(node),
                Body             = ConvertExpression(node.Expression).Expression,
            };
        }