JAVADOC_CONTENT -> JAVADOC_CONTENT [0:1]
|--LEADING_ASTERISK -> * [0:1]
|--TEXT ->   [0:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [0:3]
|   `--THROWS_BLOCK_TAG -> THROWS_BLOCK_TAG [0:3]
|       |--AT_SIGN -> @ [0:3]
|       |--TAG_NAME -> throws [0:4]
|       |--TEXT ->   [0:10]
|       |--IDENTIFIER -> IOException [0:11]
|       `--DESCRIPTION -> DESCRIPTION [0:22]
|           `--TEXT ->  if the file cannot be read. [0:22]
|--NEWLINE -> \n [0:50]
|--LEADING_ASTERISK -> * [1:1]
|--TEXT ->   [1:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [1:3]
|   `--THROWS_BLOCK_TAG -> THROWS_BLOCK_TAG [1:3]
|       |--AT_SIGN -> @ [1:3]
|       |--TAG_NAME -> throws [1:4]
|       |--TEXT ->   [1:10]
|       |--IDENTIFIER -> NullPointerException [1:11]
|       |--NEWLINE -> \n [1:31]
|       |--LEADING_ASTERISK -> * [2:1]
|       `--DESCRIPTION -> DESCRIPTION [2:2]
|           `--TEXT ->      if the input file is null. [2:2]
|--NEWLINE -> \n [2:33]
|--LEADING_ASTERISK -> * [3:1]
|--TEXT ->   [3:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [3:3]
|   `--THROWS_BLOCK_TAG -> THROWS_BLOCK_TAG [3:3]
|       |--AT_SIGN -> @ [3:3]
|       |--TAG_NAME -> throws [3:4]
|       |--NEWLINE -> \n [3:10]
|       |--LEADING_ASTERISK -> * [4:1]
|       |--TEXT ->       [4:2]
|       |--IDENTIFIER -> NullPointerException [4:7]
|       |--NEWLINE -> \n [4:27]
|       |--LEADING_ASTERISK -> * [5:1]
|       `--DESCRIPTION -> DESCRIPTION [5:2]
|           `--TEXT ->      if the input file is null. [5:2]
|--NEWLINE -> \n [5:33]
|--LEADING_ASTERISK -> * [6:1]
|--TEXT ->   [6:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [6:3]
|   `--EXCEPTION_BLOCK_TAG -> EXCEPTION_BLOCK_TAG [6:3]
|       |--AT_SIGN -> @ [6:3]
|       |--TAG_NAME -> exception [6:4]
|       |--TEXT ->   [6:13]
|       |--IDENTIFIER -> IllegalStateException [6:14]
|       `--DESCRIPTION -> DESCRIPTION [6:35]
|           `--TEXT ->  when called in an invalid state [6:35]
|--NEWLINE -> \n [6:67]
|--LEADING_ASTERISK -> * [7:1]
|--TEXT ->   [7:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [7:3]
|   `--EXCEPTION_BLOCK_TAG -> EXCEPTION_BLOCK_TAG [7:3]
|       |--AT_SIGN -> @ [7:3]
|       |--TAG_NAME -> exception [7:4]
|       |--NEWLINE -> \n [7:13]
|       |--LEADING_ASTERISK -> * [8:1]
|       |--TEXT ->       [8:2]
|       |--IDENTIFIER -> UnexpectedErrorException [8:7]
|       `--DESCRIPTION -> DESCRIPTION [8:31]
|           `--TEXT ->  if something very unexpected happens. [8:31]
|--NEWLINE -> \n [8:69]
|--LEADING_ASTERISK -> * [9:1]
|--TEXT ->   [9:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [9:3]
|   `--EXCEPTION_BLOCK_TAG -> EXCEPTION_BLOCK_TAG [9:3]
|       |--AT_SIGN -> @ [9:3]
|       |--TAG_NAME -> exception [9:4]
|       |--TEXT ->   [9:13]
|       |--IDENTIFIER -> CustomUncheckedException [9:14]
|       |--NEWLINE -> \n [9:38]
|       |--LEADING_ASTERISK -> * [10:1]
|       |--TEXT ->           [10:2]
|       `--DESCRIPTION -> DESCRIPTION [10:11]
|           `--JAVADOC_INLINE_TAG -> JAVADOC_INLINE_TAG [10:11]
|               `--INHERIT_DOC_INLINE_TAG -> INHERIT_DOC_INLINE_TAG [10:11]
|                   |--JAVADOC_INLINE_TAG_START -> {@ [10:11]
|                   |--TAG_NAME -> inheritDoc [10:13]
|                   `--JAVADOC_INLINE_TAG_END -> } [10:23]
|--NEWLINE -> \n [10:24]
|--LEADING_ASTERISK -> * [11:1]
|--TEXT ->   [11:2]
|--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [11:3]
|   `--THROWS_BLOCK_TAG -> THROWS_BLOCK_TAG [11:3]
|       |--AT_SIGN -> @ [11:3]
|       |--TAG_NAME -> throws [11:4]
|       |--TEXT ->   [11:10]
|       `--IDENTIFIER -> IOException [11:11]
|--NEWLINE -> \n [11:22]
|--LEADING_ASTERISK -> * [12:1]
|--TEXT ->   [12:2]
`--JAVADOC_BLOCK_TAG -> JAVADOC_BLOCK_TAG [12:3]
    `--EXCEPTION_BLOCK_TAG -> EXCEPTION_BLOCK_TAG [12:3]
        |--AT_SIGN -> @ [12:3]
        |--TAG_NAME -> exception [12:4]
        |--TEXT ->   [12:13]
        `--IDENTIFIER -> SecurityException [12:14]
