| resolveRelationshipTarget(String, String, String) |   | 66% |   | 46% | 13 | 15 | 10 | 27 | 0 | 1 |
| validatePackage(Map) |   | 84% |   | 70% | 6 | 11 | 5 | 30 | 0 | 1 |
| unpack(InputStream) |   | 83% |   | 66% | 4 | 7 | 7 | 30 | 0 | 1 |
| validateRelationships(Map) |   | 86% |   | 79% | 4 | 13 | 5 | 32 | 0 | 1 |
| readBounded(InputStream, int, String) |   | 80% |   | 66% | 2 | 4 | 2 | 11 | 0 | 1 |
| relationshipSourcePart(String) |   | 84% |   | 62% | 3 | 5 | 2 | 12 | 0 | 1 |
| packageSha256(Map) |   | 68% | | n/a | 0 | 1 | 2 | 5 | 0 | 1 |
| rejectActiveContentType(String) |   | 79% |   | 50% | 5 | 6 | 1 | 7 | 0 | 1 |
| rejectUnsafePart(String) |   | 86% |   | 50% | 5 | 6 | 1 | 8 | 0 | 1 |
| pack(Map) |   | 95% |   | 75% | 1 | 3 | 1 | 16 | 0 | 1 |
| validateContentTypes(byte[]) |   | 95% |   | 80% | 2 | 6 | 1 | 17 | 0 | 1 |
| defensiveSortedCopy(Map) |   | 80% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| lambda$defensiveSortedCopy$2(TreeMap, String, byte[]) |   | 84% |   | 50% | 1 | 2 | 0 | 2 | 0 | 1 |
| isXmlPart(String) |  | 93% |   | 75% | 1 | 3 | 0 | 2 | 0 | 1 |
| validatePartPath(String) |  | 100% |  | 100% | 0 | 12 | 0 | 12 | 0 | 1 |
| parseXml(String, byte[]) |  | 100% | | n/a | 0 | 1 | 0 | 13 | 0 | 1 |
| lambda$packageSha256$4(MessageDigest, String, byte[]) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$validatePartPath$3(int) |  | 100% |  | 100% | 0 | 4 | 0 | 1 | 0 | 1 |
| lambda$validatePackage$1(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| invalid(String, Exception) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| invalid(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$validatePackage$0(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| OoxmlTemplatePackageCodec() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |