Markup block - Gen<None> - 95 - (0:0,0)
    Markup span - Gen<Markup> - [   ] - SpanEditHandler;Accepts:Any - (0:0,0) - Tokens:1
        SyntaxKind.Whitespace;[   ];
    Tag block - Gen<None> - 4 - (3:0,3)
        Markup span - Gen<Markup> - [<ul>] - SpanEditHandler;Accepts:Any - (3:0,3) - Tokens:3
            SyntaxKind.OpenAngle;[<];
            SyntaxKind.Text;[ul];
            SyntaxKind.CloseAngle;[>];
    Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:Any - (7:0,7) - Tokens:1
        SyntaxKind.NewLine;[LF];
    Statement block - Gen<None> - 77 - (9:1,0)
        Code span - Gen<Stmt> - [    ] - SpanEditHandler;Accepts:Any - (9:1,0) - Tokens:1
            SyntaxKind.Whitespace;[    ];
        Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (13:1,4) - Tokens:1
            SyntaxKind.Transition;[@];
        Code span - Gen<Stmt> - [foreach(var p in Products) {LF] - SpanEditHandler;Accepts:Any - (14:1,5) - Tokens:13
            SyntaxKind.Keyword;[foreach];
            SyntaxKind.LeftParenthesis;[(];
            SyntaxKind.Identifier;[var];
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.Identifier;[p];
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.Keyword;[in];
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.Identifier;[Products];
            SyntaxKind.RightParenthesis;[)];
            SyntaxKind.Whitespace;[ ];
            SyntaxKind.LeftBrace;[{];
            SyntaxKind.NewLine;[LF];
        Markup block - Gen<None> - 35 - (44:2,0)
            Markup span - Gen<Markup> - [        ] - SpanEditHandler;Accepts:Any - (44:2,0) - Tokens:1
                SyntaxKind.Whitespace;[        ];
            Tag block - Gen<None> - 4 - (52:2,8)
                Markup span - Gen<Markup> - [<li>] - SpanEditHandler;Accepts:None - (52:2,8) - Tokens:3
                    SyntaxKind.OpenAngle;[<];
                    SyntaxKind.Text;[li];
                    SyntaxKind.CloseAngle;[>];
            Markup span - Gen<Markup> - [Product: ] - SpanEditHandler;Accepts:Any - (56:2,12) - Tokens:2
                SyntaxKind.Text;[Product:];
                SyntaxKind.Whitespace;[ ];
            Expression block - Gen<Expr> - 7 - (65:2,21)
                Transition span - Gen<None> - [@] - SpanEditHandler;Accepts:None - (65:2,21) - Tokens:1
                    SyntaxKind.Transition;[@];
                Code span - Gen<Expr> - [p.Name] - ImplicitExpressionEditHandler;Accepts:NonWhitespace;ImplicitExpression[RTD];K14 - (66:2,22) - Tokens:3
                    SyntaxKind.Identifier;[p];
                    SyntaxKind.Dot;[.];
                    SyntaxKind.Identifier;[Name];
            Tag block - Gen<None> - 5 - (72:2,28)
                Markup span - Gen<Markup> - [</li>] - SpanEditHandler;Accepts:None - (72:2,28) - Tokens:4
                    SyntaxKind.OpenAngle;[<];
                    SyntaxKind.ForwardSlash;[/];
                    SyntaxKind.Text;[li];
                    SyntaxKind.CloseAngle;[>];
            Markup span - Gen<Markup> - [LF] - SpanEditHandler;Accepts:None - (77:2,33) - Tokens:1
                SyntaxKind.NewLine;[LF];
        Code span - Gen<Stmt> - [    }LF] - SpanEditHandler;Accepts:None - (79:3,0) - Tokens:3
            SyntaxKind.Whitespace;[    ];
            SyntaxKind.RightBrace;[}];
            SyntaxKind.NewLine;[LF];
    SyntaxKind.HtmlTextLiteral - [    ] - [86..90) - FullWidth: 4 - Slots: 1
        SyntaxKind.Whitespace;[    ];
    Tag block - Gen<None> - 5 - (90:4,4)
        Markup span - Gen<Markup> - [</ul>] - SpanEditHandler;Accepts:Any - (90:4,4) - Tokens:4
            SyntaxKind.OpenAngle;[<];
            SyntaxKind.ForwardSlash;[/];
            SyntaxKind.Text;[ul];
            SyntaxKind.CloseAngle;[>];
