COMPILATION_UNIT -> COMPILATION_UNIT [6:1]
`--MODULE_DEF -> MODULE_DEF [6:1]
    |--ANNOTATIONS -> ANNOTATIONS [6:1]
    |--LITERAL_MODULE -> module [6:1]
    |--DOT -> . [6:11]
    |   |--IDENT -> jdk [6:8]
    |   `--IDENT -> charsets [6:12]
    `--DIRECTIVE_BLOCK -> DIRECTIVE_BLOCK [6:21]
        |--LCURLY -> { [6:21]
        |--PROVIDES -> provides [7:5]
        |   |--DOT -> . [7:34]
        |   |   |--DOT -> . [7:30]
        |   |   |   |--DOT -> . [7:22]
        |   |   |   |   |--DOT -> . [7:18]
        |   |   |   |   |   |--IDENT -> java [7:14]
        |   |   |   |   |   `--IDENT -> nio [7:19]
        |   |   |   |   `--IDENT -> charset [7:23]
        |   |   |   `--IDENT -> spi [7:31]
        |   |   `--IDENT -> CharsetProvider [7:35]
        |   |--WITH -> with [7:51]
        |   |   `--DOT -> . [7:70]
        |   |       |--DOT -> . [7:66]
        |   |       |   |--DOT -> . [7:63]
        |   |       |   |   |--DOT -> . [7:59]
        |   |       |   |   |   |--IDENT -> sun [7:56]
        |   |       |   |   |   `--IDENT -> nio [7:60]
        |   |       |   |   `--IDENT -> cs [7:64]
        |   |       |   `--IDENT -> ext [7:67]
        |   |       `--IDENT -> ExtendedCharsets [7:71]
        |   `--SEMI -> ; [7:87]
        `--RCURLY -> } [8:1]
