JAVADOC_CONTENT -> JAVADOC_CONTENT [0:1]
|--LEADING_ASTERISK -> * [0:1]
|--TEXT ->   [0:2]
|--HTML_ELEMENT -> HTML_ELEMENT [0:3]
|   |--HTML_TAG_START -> HTML_TAG_START [0:3]
|   |   |--TAG_OPEN -> < [0:3]
|   |   |--TAG_NAME -> P [0:4]
|   |   |--TEXT ->     [0:5]
|   |   `--TAG_CLOSE -> > [0:8]
|   |--NEWLINE -> \n [0:9]
|   |--LEADING_ASTERISK -> * [1:1]
|   `--HTML_CONTENT -> HTML_CONTENT [1:2]
|       `--TEXT ->      This is  [1:2]
|--HTML_ELEMENT -> HTML_ELEMENT [1:15]
|   |--HTML_TAG_START -> HTML_TAG_START [1:15]
|   |   |--TAG_OPEN -> < [1:15]
|   |   |--TAG_NAME -> b [1:16]
|   |   `--TAG_CLOSE -> > [1:17]
|   |--HTML_CONTENT -> HTML_CONTENT [1:18]
|   |   `--TEXT -> bold [1:18]
|   `--HTML_TAG_END -> HTML_TAG_END [1:22]
|       |--TAG_OPEN -> < [1:22]
|       |--TAG_SLASH -> / [1:23]
|       |--TAG_NAME -> b [1:24]
|       `--TAG_CLOSE -> > [1:25]
|--TEXT -> ,  [1:26]
|--HTML_ELEMENT -> HTML_ELEMENT [1:28]
|   |--HTML_TAG_START -> HTML_TAG_START [1:28]
|   |   |--TAG_OPEN -> < [1:28]
|   |   |--TAG_NAME -> i [1:29]
|   |   `--TAG_CLOSE -> > [1:30]
|   |--HTML_CONTENT -> HTML_CONTENT [1:31]
|   |   `--TEXT -> italic [1:31]
|   `--HTML_TAG_END -> HTML_TAG_END [1:37]
|       |--TAG_OPEN -> < [1:37]
|       |--TAG_SLASH -> / [1:38]
|       |--TAG_NAME -> i [1:39]
|       `--TAG_CLOSE -> > [1:40]
|--TEXT -> , and  [1:41]
|--HTML_ELEMENT -> HTML_ELEMENT [1:47]
|   |--HTML_TAG_START -> HTML_TAG_START [1:47]
|   |   |--TAG_OPEN -> < [1:47]
|   |   |--TAG_NAME -> strong [1:48]
|   |   `--TAG_CLOSE -> > [1:54]
|   |--HTML_CONTENT -> HTML_CONTENT [1:55]
|   |   `--TEXT -> also bold [1:55]
|   `--HTML_TAG_END -> HTML_TAG_END [1:64]
|       |--TAG_OPEN -> < [1:64]
|       |--TAG_SLASH -> / [1:65]
|       |--TAG_NAME -> strong [1:66]
|       `--TAG_CLOSE -> > [1:72]
|--TEXT ->  with [1:73]
|--NEWLINE -> \n [1:78]
|--LEADING_ASTERISK -> * [2:1]
|--TEXT ->       [2:2]
|--HTML_ELEMENT -> HTML_ELEMENT [2:7]
|   |--HTML_TAG_START -> HTML_TAG_START [2:7]
|   |   |--TAG_OPEN -> < [2:7]
|   |   |--TAG_NAME -> em [2:8]
|   |   `--TAG_CLOSE -> > [2:10]
|   |--HTML_CONTENT -> HTML_CONTENT [2:11]
|   |   `--TEXT -> emphasis [2:11]
|   `--HTML_TAG_END -> HTML_TAG_END [2:19]
|       |--TAG_OPEN -> < [2:19]
|       |--TAG_SLASH -> / [2:20]
|       |--TAG_NAME -> em [2:21]
|       `--TAG_CLOSE -> > [2:23]
|--TEXT ->  and a  [2:24]
|--HTML_ELEMENT -> HTML_ELEMENT [2:31]
|   |--HTML_TAG_START -> HTML_TAG_START [2:31]
|   |   |--TAG_OPEN -> < [2:31]
|   |   |--TAG_NAME -> a [2:32]
|   |   |--HTML_ATTRIBUTES -> HTML_ATTRIBUTES [2:33]
|   |   |   `--HTML_ATTRIBUTE -> HTML_ATTRIBUTE [2:33]
|   |   |       |--TEXT ->   [2:33]
|   |   |       |--TAG_ATTR_NAME -> href [2:34]
|   |   |       |--EQUALS -> = [2:38]
|   |   |       `--ATTRIBUTE_VALUE -> https://example.com [2:39]
|   |   `--TAG_CLOSE -> > [2:58]
|   |--HTML_CONTENT -> HTML_CONTENT [2:59]
|   |   `--TEXT -> link [2:59]
|   `--HTML_TAG_END -> HTML_TAG_END [2:63]
|       |--TAG_OPEN -> < [2:63]
|       |--TAG_SLASH -> / [2:64]
|       |--TAG_NAME -> a [2:65]
|       `--TAG_CLOSE -> > [2:66]
|--TEXT -> . [2:67]
|--NEWLINE -> \n [2:68]
|--LEADING_ASTERISK -> * [3:1]
|--NEWLINE -> \n [3:2]
|--LEADING_ASTERISK -> * [4:1]
|--TEXT ->      Now, here's a nested list: [4:2]
|--NEWLINE -> \n [4:33]
|--LEADING_ASTERISK -> * [5:1]
|--TEXT ->       [5:2]
|--HTML_ELEMENT -> HTML_ELEMENT [5:7]
|   |--HTML_TAG_START -> HTML_TAG_START [5:7]
|   |   |--TAG_OPEN -> < [5:7]
|   |   |--TAG_NAME -> ul [5:8]
|   |   `--TAG_CLOSE -> > [5:10]
|   |--NEWLINE -> \n [5:11]
|   |--LEADING_ASTERISK -> * [6:1]
|   |--TEXT ->           [6:2]
|   |--HTML_CONTENT -> HTML_CONTENT [6:11]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [6:11]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [6:11]
|   |   |   |   |--TAG_OPEN -> < [6:11]
|   |   |   |   |--TAG_NAME -> li [6:12]
|   |   |   |   `--TAG_CLOSE -> > [6:14]
|   |   |   `--HTML_CONTENT -> HTML_CONTENT [6:15]
|   |   |       `--TEXT -> Item 1 [6:15]
|   |   |--NEWLINE -> \n [6:21]
|   |   |--LEADING_ASTERISK -> * [7:1]
|   |   |--TEXT ->           [7:2]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [7:11]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [7:11]
|   |   |   |   |--TAG_OPEN -> < [7:11]
|   |   |   |   |--TAG_NAME -> li [7:12]
|   |   |   |   `--TAG_CLOSE -> > [7:14]
|   |   |   `--HTML_CONTENT -> HTML_CONTENT [7:15]
|   |   |       `--TEXT -> Item 2 [7:15]
|   |   |--NEWLINE -> \n [7:21]
|   |   |--LEADING_ASTERISK -> * [8:1]
|   |   |--TEXT ->               [8:2]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [8:15]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [8:15]
|   |   |   |   |--TAG_OPEN -> < [8:15]
|   |   |   |   |--TAG_NAME -> ul [8:16]
|   |   |   |   `--TAG_CLOSE -> > [8:18]
|   |   |   |--NEWLINE -> \n [8:19]
|   |   |   |--LEADING_ASTERISK -> * [9:1]
|   |   |   |--TEXT ->                   [9:2]
|   |   |   |--HTML_CONTENT -> HTML_CONTENT [9:19]
|   |   |   |   |--HTML_ELEMENT -> HTML_ELEMENT [9:19]
|   |   |   |   |   `--HTML_TAG_START -> HTML_TAG_START [9:19]
|   |   |   |   |       |--TAG_OPEN -> < [9:19]
|   |   |   |   |       |--TAG_NAME -> li [9:20]
|   |   |   |   |       `--TAG_CLOSE -> > [9:22]
|   |   |   |   `--HTML_ELEMENT -> HTML_ELEMENT [9:23]
|   |   |   |       |--HTML_TAG_START -> HTML_TAG_START [9:23]
|   |   |   |       |   |--TAG_OPEN -> < [9:23]
|   |   |   |       |   |--TAG_NAME -> code [9:24]
|   |   |   |       |   `--TAG_CLOSE -> > [9:28]
|   |   |   |       |--HTML_CONTENT -> HTML_CONTENT [9:29]
|   |   |   |       |   `--TEXT -> Nested Code Item [9:29]
|   |   |   |       `--HTML_TAG_END -> HTML_TAG_END [9:45]
|   |   |   |           |--TAG_OPEN -> < [9:45]
|   |   |   |           |--TAG_SLASH -> / [9:46]
|   |   |   |           |--TAG_NAME -> code [9:47]
|   |   |   |           `--TAG_CLOSE -> > [9:51]
|   |   |   |--NEWLINE -> \n [9:52]
|   |   |   |--LEADING_ASTERISK -> * [10:1]
|   |   |   |--TEXT ->               [10:2]
|   |   |   `--HTML_TAG_END -> HTML_TAG_END [10:15]
|   |   |       |--TAG_OPEN -> < [10:15]
|   |   |       |--TAG_SLASH -> / [10:16]
|   |   |       |--TAG_NAME -> ul [10:17]
|   |   |       `--TAG_CLOSE -> > [10:19]
|   |   |--NEWLINE -> \n [10:20]
|   |   |--LEADING_ASTERISK -> * [11:1]
|   |   |--TEXT ->           [11:2]
|   |   `--HTML_ELEMENT -> HTML_ELEMENT [11:11]
|   |       |--HTML_TAG_START -> HTML_TAG_START [11:11]
|   |       |   |--TAG_OPEN -> < [11:11]
|   |       |   |--TAG_NAME -> li [11:12]
|   |       |   `--TAG_CLOSE -> > [11:14]
|   |       `--HTML_CONTENT -> HTML_CONTENT [11:15]
|   |           `--TEXT -> Item 3 [11:15]
|   |--NEWLINE -> \n [11:21]
|   |--LEADING_ASTERISK -> * [12:1]
|   |--TEXT ->       [12:2]
|   `--HTML_TAG_END -> HTML_TAG_END [12:7]
|       |--TAG_OPEN -> < [12:7]
|       |--TAG_SLASH -> / [12:8]
|       |--TAG_NAME -> ul [12:9]
|       `--TAG_CLOSE -> > [12:11]
|--NEWLINE -> \n [12:12]
|--LEADING_ASTERISK -> * [13:1]
|--NEWLINE -> \n [13:2]
|--LEADING_ASTERISK -> * [14:1]
|--TEXT ->      Definitions: [14:2]
|--NEWLINE -> \n [14:19]
|--LEADING_ASTERISK -> * [15:1]
|--TEXT ->       [15:2]
|--HTML_ELEMENT -> HTML_ELEMENT [15:7]
|   |--HTML_TAG_START -> HTML_TAG_START [15:7]
|   |   |--TAG_OPEN -> < [15:7]
|   |   |--TAG_NAME -> DL [15:8]
|   |   `--TAG_CLOSE -> > [15:10]
|   |--NEWLINE -> \n [15:11]
|   |--LEADING_ASTERISK -> * [16:1]
|   |--TEXT ->           [16:2]
|   |--HTML_CONTENT -> HTML_CONTENT [16:11]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [16:11]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [16:11]
|   |   |   |   |--TAG_OPEN -> < [16:11]
|   |   |   |   |--TAG_NAME -> dt [16:12]
|   |   |   |   `--TAG_CLOSE -> > [16:14]
|   |   |   `--HTML_CONTENT -> HTML_CONTENT [16:15]
|   |   |       `--TEXT -> HTML [16:15]
|   |   |--NEWLINE -> \n [16:19]
|   |   |--LEADING_ASTERISK -> * [17:1]
|   |   |--TEXT ->           [17:2]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [17:11]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [17:11]
|   |   |   |   |--TAG_OPEN -> < [17:11]
|   |   |   |   |--TAG_NAME -> dd [17:12]
|   |   |   |   `--TAG_CLOSE -> > [17:14]
|   |   |   `--HTML_CONTENT -> HTML_CONTENT [17:15]
|   |   |       `--TEXT -> HyperText Markup Language [17:15]
|   |   |--NEWLINE -> \n [17:40]
|   |   |--LEADING_ASTERISK -> * [18:1]
|   |   |--TEXT ->           [18:2]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [18:11]
|   |   |   |--HTML_TAG_START -> HTML_TAG_START [18:11]
|   |   |   |   |--TAG_OPEN -> < [18:11]
|   |   |   |   |--TAG_NAME -> dt [18:12]
|   |   |   |   `--TAG_CLOSE -> > [18:14]
|   |   |   `--HTML_CONTENT -> HTML_CONTENT [18:15]
|   |   |       `--TEXT -> CSS [18:15]
|   |   |--NEWLINE -> \n [18:18]
|   |   |--LEADING_ASTERISK -> * [19:1]
|   |   |--TEXT ->           [19:2]
|   |   `--HTML_ELEMENT -> HTML_ELEMENT [19:11]
|   |       |--HTML_TAG_START -> HTML_TAG_START [19:11]
|   |       |   |--TAG_OPEN -> < [19:11]
|   |       |   |--TAG_NAME -> dd [19:12]
|   |       |   `--TAG_CLOSE -> > [19:14]
|   |       `--HTML_CONTENT -> HTML_CONTENT [19:15]
|   |           `--TEXT -> Cascading Style Sheets [19:15]
|   |--NEWLINE -> \n [19:37]
|   |--LEADING_ASTERISK -> * [20:1]
|   |--TEXT ->       [20:2]
|   `--HTML_TAG_END -> HTML_TAG_END [20:7]
|       |--TAG_OPEN -> < [20:7]
|       |--TAG_SLASH -> / [20:8]
|       |--TAG_NAME -> DL [20:9]
|       `--TAG_CLOSE -> > [20:11]
|--NEWLINE -> \n [20:12]
|--LEADING_ASTERISK -> * [21:1]
|--NEWLINE -> \n [21:2]
|--LEADING_ASTERISK -> * [22:1]
|--TEXT ->      Mixed content:  [22:2]
|--HTML_ELEMENT -> HTML_ELEMENT [22:22]
|   |--HTML_TAG_START -> HTML_TAG_START [22:22]
|   |   |--TAG_OPEN -> < [22:22]
|   |   |--TAG_NAME -> code [22:23]
|   |   `--TAG_CLOSE -> > [22:27]
|   |--HTML_CONTENT -> HTML_CONTENT [22:28]
|   |   `--TEXT -> Map&lt;String, List&lt;Integer&gt;&gt; [22:28]
|   `--HTML_TAG_END -> HTML_TAG_END [22:66]
|       |--TAG_OPEN -> < [22:66]
|       |--TAG_SLASH -> / [22:67]
|       |--TAG_NAME -> code [22:68]
|       `--TAG_CLOSE -> > [22:72]
|--NEWLINE -> \n [22:73]
|--LEADING_ASTERISK -> * [23:1]
|--NEWLINE -> \n [23:2]
|--LEADING_ASTERISK -> * [24:1]
|--TEXT ->      Now some inline tags inside HTML: [24:2]
|--NEWLINE -> \n [24:40]
|--LEADING_ASTERISK -> * [25:1]
|--TEXT ->       [25:2]
|--HTML_ELEMENT -> HTML_ELEMENT [25:7]
|   |--HTML_TAG_START -> HTML_TAG_START [25:7]
|   |   |--TAG_OPEN -> < [25:7]
|   |   |--TAG_NAME -> p [25:8]
|   |   `--TAG_CLOSE -> > [25:9]
|   |--HTML_CONTENT -> HTML_CONTENT [25:10]
|   |   |--TEXT -> Example:  [25:10]
|   |   |--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [25:19]
|   |   |   `--CODE_INLINE_TAG -> CODE_INLINE_TAG [25:19]
|   |   |       |--JAVADOC_INLINE_TAG_START -> {@ [25:19]
|   |   |       |--TAG_NAME -> code [25:21]
|   |   |       |--TEXT ->  int x = 42; [25:25]
|   |   |       `--JAVADOC_INLINE_TAG_END -> } [25:37]
|   |   |--TEXT ->  and  [25:38]
|   |   `--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [25:43]
|   |       `--LINK_INLINE_TAG -> LINK_INLINE_TAG [25:43]
|   |           |--JAVADOC_INLINE_TAG_START -> {@ [25:43]
|   |           |--TAG_NAME -> link [25:45]
|   |           |--TEXT ->   [25:49]
|   |           |--REFERENCE -> REFERENCE [25:50]
|   |           |   `--IDENTIFIER -> java.util.List [25:50]
|   |           `--JAVADOC_INLINE_TAG_END -> } [25:64]
|   `--HTML_TAG_END -> HTML_TAG_END [25:65]
|       |--TAG_OPEN -> < [25:65]
|       |--TAG_SLASH -> / [25:66]
|       |--TAG_NAME -> p [25:67]
|       `--TAG_CLOSE -> > [25:68]
|--NEWLINE -> \n [25:69]
|--LEADING_ASTERISK -> * [26:1]
|--NEWLINE -> \n [26:2]
|--LEADING_ASTERISK -> * [27:1]
|--TEXT ->      Mixed quote types:  [27:2]
|--HTML_ELEMENT -> HTML_ELEMENT [27:26]
|   |--HTML_TAG_START -> HTML_TAG_START [27:26]
|   |   |--TAG_OPEN -> < [27:26]
|   |   |--TAG_NAME -> a [27:27]
|   |   |--HTML_ATTRIBUTES -> HTML_ATTRIBUTES [27:28]
|   |   |   |--HTML_ATTRIBUTE -> HTML_ATTRIBUTE [27:28]
|   |   |   |   |--TEXT ->   [27:28]
|   |   |   |   |--TAG_ATTR_NAME -> href [27:29]
|   |   |   |   |--EQUALS -> = [27:33]
|   |   |   |   `--ATTRIBUTE_VALUE -> 'https://example.org' [27:34]
|   |   |   `--HTML_ATTRIBUTE -> HTML_ATTRIBUTE [27:55]
|   |   |       |--TEXT ->   [27:55]
|   |   |       |--TAG_ATTR_NAME -> target [27:56]
|   |   |       |--EQUALS -> = [27:62]
|   |   |       `--ATTRIBUTE_VALUE -> "_blank" [27:63]
|   |   `--TAG_CLOSE -> > [27:71]
|   |--HTML_CONTENT -> HTML_CONTENT [27:72]
|   |   `--TEXT -> Another link [27:72]
|   `--HTML_TAG_END -> HTML_TAG_END [27:84]
|       |--TAG_OPEN -> < [27:84]
|       |--TAG_SLASH -> / [27:85]
|       |--TAG_NAME -> a [27:86]
|       `--TAG_CLOSE -> > [27:87]
|--NEWLINE -> \n [27:88]
|--LEADING_ASTERISK -> * [28:1]
|--NEWLINE -> \n [28:2]
|--LEADING_ASTERISK -> * [29:1]
|--TEXT ->      Unicode test: π, ∑, ©, ™ [29:2]
|--NEWLINE -> \n [29:31]
|--LEADING_ASTERISK -> * [30:1]
|--NEWLINE -> \n [30:2]
|--LEADING_ASTERISK -> * [31:1]
|--TEXT ->      JavaScript-like content inside code:  [31:2]
|--HTML_ELEMENT -> HTML_ELEMENT [31:44]
|   |--HTML_TAG_START -> HTML_TAG_START [31:44]
|   |   |--TAG_OPEN -> < [31:44]
|   |   |--TAG_NAME -> code [31:45]
|   |   `--TAG_CLOSE -> > [31:49]
|   |--HTML_CONTENT -> HTML_CONTENT [31:50]
|   |   `--TEXT -> if (x > 0) alert("✔️"); [31:50]
|   `--HTML_TAG_END -> HTML_TAG_END [31:73]
|       |--TAG_OPEN -> < [31:73]
|       |--TAG_SLASH -> / [31:74]
|       |--TAG_NAME -> code [31:75]
|       `--TAG_CLOSE -> > [31:79]
|--NEWLINE -> \n [31:80]
|--LEADING_ASTERISK -> * [32:1]
|--NEWLINE -> \n [32:2]
|--LEADING_ASTERISK -> * [33:1]
|--TEXT ->      Optional tags and nesting:  [33:2]
|--HTML_ELEMENT -> HTML_ELEMENT [33:34]
|   |--HTML_TAG_START -> HTML_TAG_START [33:34]
|   |   |--TAG_OPEN -> < [33:34]
|   |   |--TAG_NAME -> ul [33:35]
|   |   `--TAG_CLOSE -> > [33:37]
|   |--HTML_CONTENT -> HTML_CONTENT [33:38]
|   |   |--HTML_ELEMENT -> HTML_ELEMENT [33:38]
|   |   |   `--HTML_TAG_START -> HTML_TAG_START [33:38]
|   |   |       |--TAG_OPEN -> < [33:38]
|   |   |       |--TAG_NAME -> li [33:39]
|   |   |       `--TAG_CLOSE -> > [33:41]
|   |   `--HTML_ELEMENT -> HTML_ELEMENT [33:42]
|   |       |--HTML_TAG_START -> HTML_TAG_START [33:42]
|   |       |   |--TAG_OPEN -> < [33:42]
|   |       |   |--TAG_NAME -> p [33:43]
|   |       |   `--TAG_CLOSE -> > [33:44]
|   |       `--HTML_CONTENT -> HTML_CONTENT [33:45]
|   |           `--TEXT -> Item with paragraph [33:45]
|   `--HTML_TAG_END -> HTML_TAG_END [33:64]
|       |--TAG_OPEN -> < [33:64]
|       |--TAG_SLASH -> / [33:65]
|       |--TAG_NAME -> ul [33:66]
|       `--TAG_CLOSE -> > [33:68]
|--NEWLINE -> \n [33:69]
|--LEADING_ASTERISK -> * [34:1]
|--NEWLINE -> \n [34:2]
|--LEADING_ASTERISK -> * [35:1]
|--TEXT ->       [35:2]
|--HTML_COMMENT -> HTML_COMMENT [35:7]
|   |--HTML_COMMENT_START -> <!-- [35:7]
|   |--HTML_COMMENT_CONTENT -> HTML_COMMENT_CONTENT [35:11]
|   |   `--TEXT ->  A comment to ignore  [35:11]
|   `--HTML_COMMENT_END -> --> [35:32]
|--NEWLINE -> \n [35:35]
|--LEADING_ASTERISK -> * [36:1]
|--NEWLINE -> \n [36:2]
|--LEADING_ASTERISK -> * [37:1]
|--TEXT ->       [37:2]
`--HTML_ELEMENT -> HTML_ELEMENT [37:7]
    |--HTML_TAG_START -> HTML_TAG_START [37:7]
    |   |--TAG_OPEN -> < [37:7]
    |   |--TAG_NAME -> p [37:8]
    |   `--TAG_CLOSE -> > [37:9]
    `--HTML_CONTENT -> HTML_CONTENT [37:10]
        `--TEXT -> Final paragraph with unmatched { brace in text. [37:10]
