| readByte() |   | 34% |   | 16% | 3 | 4 | 6 | 8 | 0 | 1 |
| setBoundary(byte[]) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| readHeaders() |   | 70% |   | 75% | 2 | 5 | 7 | 22 | 0 | 1 |
| readBoundary() |   | 67% |   | 50% | 3 | 4 | 7 | 17 | 0 | 1 |
| findByte(byte, int) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| findSeparator() |   | 84% |   | 75% | 2 | 5 | 1 | 10 | 0 | 1 |
| MultipartInput(InputStream, byte[], int, int, MultipartInput.ProgressNotifier) |   | 94% |   | 75% | 1 | 3 | 1 | 20 | 0 | 1 |
| skipPreamble() |   | 92% | | n/a | 0 | 1 | 2 | 12 | 0 | 1 |
| setHeaderCharset(Charset) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getHeaderCharset() |  | 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 |
| arrayEquals(byte[], byte[], int) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| readBodyData(OutputStream) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| newInputStream() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| builder() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| discardBodyData() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPartHeaderSizeMax() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |