question: public int read ( char cbuf [ ] , int off , int len ) throws IOException { if ( ( off < 0 ) || ( off > cbuf . length ) || ( len < 0 ) || ( ( off + len ) > cbuf . length ) || ( ( off + len ) < 0 ) ) throw new IndexOutOfBoundsException ( ) ; if ( len == 0 ) return 0 ; if ( next >= length ) return - 1 ; int n = Math . min ( length - next , len ) ; text . getChars ( next , next + n , cbuf , off ) ; next += n ; return n ; }
target:  Reads characters into a portion of an array.