question: @ Override public int read ( byte [ ] b , int off , int len ) throws IOException { int n = in . read ( b , off , len ) ; if ( n == - 1 ) { throwIfFalseEOF ( ) ; } else { bytesRead += n ; } return n ; }
target:  java.io.InputStream#read(byte[], int, int) swallows IOException thrown from read() so we have to override it.