| readHeaders() |   | 56% |   | 75% | 2 | 5 | 11 | 26 | 0 | 1 |
| findByte(byte, int) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| readBoundary() |   | 77% |   | 83% | 1 | 4 | 5 | 18 | 0 | 1 |
| MultipartStream(InputStream, byte[], int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| MultipartStream(InputStream, byte[]) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| MultipartStream() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| MultipartStream(InputStream, byte[], int, MultipartStream.ProgressNotifier) |   | 94% |   | 75% | 1 | 3 | 1 | 19 | 0 | 1 |
| skipPreamble() |   | 92% | | n/a | 0 | 1 | 2 | 12 | 0 | 1 |
| readByte() |   | 89% |   | 66% | 2 | 4 | 1 | 8 | 0 | 1 |
| setBoundary(byte[]) |   | 80% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| getHeaderEncoding() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| computeBoundaryTable() |  | 100% |  | 100% | 0 | 4 | 0 | 14 | 0 | 1 |
| findSeparator() |  | 100% |  | 100% | 0 | 5 | 0 | 10 | 0 | 1 |
| arrayequals(byte[], byte[], int) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| MultipartStream(InputStream, byte[], MultipartStream.ProgressNotifier) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| readBodyData(OutputStream) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| newInputStream() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setHeaderEncoding(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| discardBodyData() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |