| skipInternal(long) |   | 0% |   | 0% | 5 | 5 | 25 | 25 | 1 | 1 | 
| lambda$readAsync$1(byte[]) |   | 0% |   | 0% | 9 | 9 | 32 | 32 | 1 | 1 | 
| read(byte[], int, int) |   | 0% |   | 0% | 5 | 5 | 17 | 17 | 1 | 1 | 
| readAsync() |   | 0% |   | 0% | 3 | 3 | 11 | 11 | 1 | 1 | 
| skip(long) |   | 0% |   | 0% | 3 | 3 | 9 | 9 | 1 | 1 | 
| waitForAsyncReadComplete() |   | 0% |   | 0% | 2 | 2 | 12 | 12 | 1 | 1 | 
| read() |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| closeUnderlyingInputStreamIfNecessary() |   | 0% |   | 0% | 4 | 4 | 11 | 11 | 1 | 1 | 
| checkReadException() |   | 0% |   | 0% | 3 | 3 | 5 | 5 | 1 | 1 | 
| isEndOfStream() |   | 0% |   | 0% | 4 | 4 | 1 | 1 | 1 | 1 | 
| close() |    | 74% |    | 50% | 4 | 5 | 5 | 19 | 0 | 1 | 
| ReadAheadInputStream(InputStream, int, ExecutorService, boolean) |    | 79% |    | 50% | 1 | 2 | 1 | 13 | 0 | 1 | 
| newDaemonThread(Runnable) |   | 0% |  | n/a | 1 | 1 | 3 | 3 | 1 | 1 | 
| swapBuffers() |   | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 
| signalAsyncReadComplete() |   | 0% |  | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 
| ReadAheadInputStream(InputStream, int) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| ReadAheadInputStream(InputStream, int, ExecutorService) |   | 0% |  | n/a | 1 | 1 | 2 | 2 | 1 | 1 | 
| ReadAheadInputStream(ReadAheadInputStream.Builder) |    | 80% |    | 50% | 2 | 3 | 0 | 3 | 0 | 1 | 
| lambda$static$0() |   | 0% |  | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 
| available() |   | 100% |  | n/a | 0 | 1 | 0 | 3 | 0 | 1 | 
| builder() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| static {...} |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 | 
| newExecutorService() |   | 100% |  | n/a | 0 | 1 | 0 | 1 | 0 | 1 |