question: protected void load_raw_characters ( StringBuilder sb ) throws IOException { int c = read_char ( ) ; for ( ; ; ) { c = read_char ( ) ; switch ( c ) { case CharacterSequence . CHAR_SEQ_ESCAPED_NEWLINE_SEQUENCE_1 : case CharacterSequence . CHAR_SEQ_ESCAPED_NEWLINE_SEQUENCE_2 : case CharacterSequence . CHAR_SEQ_ESCAPED_NEWLINE_SEQUENCE_3 : continue ; case - 1 : return ; default : if ( ! IonTokenConstsX . is7bitValue ( c ) ) { c = read_large_char_sequence ( c ) ; } } if ( IonUTF8 . needsSurrogateEncoding ( c ) ) { sb . append ( IonUTF8 . highSurrogate ( c ) ) ; c = IonUTF8 . lowSurrogate ( c ) ; } sb . append ( ( char ) c ) ; } }
target:  this is used to load a previously marked set of bytes into the StringBuilder without escaping.  It expects the caller to have set a save point so that the EOF will stop us at the right time. This does handle UTF8 decoding and surrogate encoding as the bytes are transfered.