public override Comment VisitComment([NotNull] CommentContext context)
            {
                var result      = new List <ITextArea>();
                var indentation = context.indentation();
                int length      = indentation == null ? 0 : indentation.GetText().Length;

                IndentationTracker.Track(length);

                var commentLineContext = context.commentLineNoBreak();

                if (commentLineContext != null)
                {
                    var visitor = new TextAreaVisitor().Inherit(this);
                    result.Add(visitor.VisitCommentLineNoBreak(commentLineContext));
                }

                var linesContext = context.commentParagraphs();

                if (linesContext != null)
                {
                    var lineVisitor = new TextAreasVisitor().Inherit(this);

                    result.AddRange(lineVisitor.VisitCommentParagraphs(linesContext));
                }

                return(new Comment(result)
                {
                    Indentation = length
                });
            }