public final int read ( byte [ ] dst , int offset , int length ) throws IOException { if ( ! is_byte_data ( ) ) { throw new IOException ( "byte read is not support over character sources" ) ; } int remaining = length ; while ( remaining > 0 && ! isEOF ( ) ) { int ready = _limit - _pos ; if ( ready > remaining ) { ready = remaining ; } System . arraycopy ( _bytes , _pos , dst , offset , ready ) ; _pos += ready ; offset += ready ; remaining -= ready ; if ( remaining == 0 || _pos < _limit || refill_helper ( ) ) { break ; } } return length - remaining ; }
It is unclear what the implication to the rest of the system to make it conform