public override Paragraph VisitParagraph([NotNull] ParagraphContext context)
            {
                var lineVisitor = new TextAreasVisitor().Inherit(this);
                var lines       = new List <ITextArea>();
                var children    = context.lines();

                lines.AddRange(lineVisitor.VisitLines(children));
                return(new Paragraph(lines));
            }
            public override Paragraph VisitParagraphNoBreak([NotNull] ParagraphNoBreakContext context)
            {
                var lineVisitor = new TextAreasVisitor().Inherit(this);
                var lines       = new List <ITextArea>();
                var noBreak     = context.lineNoBreak();

                if (noBreak != null)
                {
                    lines.AddRange(lineVisitor.VisitLineNoBreak(noBreak));
                }

                var children = context.lines();

                foreach (var child in children)
                {
                    lines.AddRange(lineVisitor.VisitLines(child));
                }

                return(new Paragraph(lines));
            }