question: private boolean zzRefill ( ) throws java . io . IOException { if ( zzStartRead > 0 ) { zzEndRead += zzFinalHighSurrogate ; zzFinalHighSurrogate = 0 ; System . arraycopy ( zzBuffer , zzStartRead , zzBuffer , 0 , zzEndRead - zzStartRead ) ; zzEndRead -= zzStartRead ; zzCurrentPos -= zzStartRead ; zzMarkedPos -= zzStartRead ; zzStartRead = 0 ; } if ( zzCurrentPos >= zzBuffer . length - zzFinalHighSurrogate ) { char newBuffer [ ] = new char [ zzBuffer . length * 2 ] ; System . arraycopy ( zzBuffer , 0 , newBuffer , 0 , zzBuffer . length ) ; zzBuffer = newBuffer ; zzEndRead += zzFinalHighSurrogate ; zzFinalHighSurrogate = 0 ; } int requested = zzBuffer . length - zzEndRead ; int numRead = zzReader . read ( zzBuffer , zzEndRead , requested ) ; if ( numRead == 0 ) { throw new java . io . IOException ( "Reader returned 0 characters. See JFlex examples for workaround." ) ; } if ( numRead > 0 ) { zzEndRead += numRead ; if ( numRead == requested ) { if ( Character . isHighSurrogate ( zzBuffer [ zzEndRead - 1 ] ) ) { -- zzEndRead ; zzFinalHighSurrogate = 1 ; } } return false ; } return true ; }
target:  Refills the input buffer.