question: public void readInformationObject ( final PdfObject infoObj , final ObjectDecoder objectDecoder ) { try { objectDecoder . checkResolved ( infoObj ) ; } catch ( final Exception e ) { LogWriter . writeLog ( "Exception: " + e . getMessage ( ) ) ; } String newValue ; int id ; byte [ ] data ; final int count = PdfFileInformation . information_field_IDs . length ; for ( int i = 0 ; i < count ; i ++ ) { id = PdfFileInformation . information_field_IDs [ i ] ; if ( id == PdfDictionary . Trapped ) { newValue = infoObj . getName ( id ) ; if ( newValue == null ) { newValue = "" ; } } else { data = infoObj . getTextStreamValueAsByte ( id ) ; if ( data == null ) { newValue = "" ; } else { newValue = StringUtils . getTextString ( data , false ) ; } } setFieldValue ( i , newValue ) ; } }
target:  read information object and return pointer to correct place