question: static CharHandler [ ] loadCodes ( String codesFilePath , char firstChar , char lastChar ) { int numCodes = ( asUnsignedChar ( lastChar ) - asUnsignedChar ( firstChar ) ) + 1 ; CharHandler [ ] values = new CharHandler [ numCodes ] ; Map < String , Type > prefixMap = new HashMap < String , Type > ( ) ; for ( Type type : Type . values ( ) ) { prefixMap . put ( type . getPrefixCode ( ) , type ) ; } BufferedReader reader = null ; try { reader = new BufferedReader ( new InputStreamReader ( DatabaseImpl . getResourceAsStream ( codesFilePath ) , "US-ASCII" ) ) ; int start = asUnsignedChar ( firstChar ) ; int end = asUnsignedChar ( lastChar ) ; for ( int i = start ; i <= end ; ++ i ) { char c = ( char ) i ; CharHandler ch = null ; if ( Character . isHighSurrogate ( c ) || Character . isLowSurrogate ( c ) ) { ch = SURROGATE_CHAR_HANDLER ; } else { String codeLine = reader . readLine ( ) ; ch = parseCodes ( prefixMap , codeLine ) ; } values [ ( i - start ) ] = ch ; } } catch ( IOException e ) { throw new RuntimeException ( "failed loading index codes file " + codesFilePath , e ) ; } finally { ByteUtil . closeQuietly ( reader ) ; } return values ; }
target:  Loads the CharHandlers for the given range of characters from the resource file with the given name.