| getHashedProductPath(ProductId) |  | 0% |  | 0% | 3 | 3 | 16 | 16 | 1 | 1 |
| getInMemoryProduct(ProductId) |  | 0% |  | 0% | 2 | 2 | 14 | 14 | 1 | 1 |
| configure(Config) |   | 57% |   | 75% | 2 | 5 | 16 | 31 | 0 | 1 |
| toHexString(byte[]) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| notifyListeners(StorageEvent) |   | 24% |   | 50% | 1 | 2 | 5 | 8 | 0 | 1 |
| shutdown() |   | 50% |   | 66% | 2 | 4 | 7 | 14 | 0 | 1 |
| addStorageListener(StorageListener) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| storeProductSource(ProductSource) |   | 90% |   | 80% | 4 | 11 | 5 | 52 | 0 | 1 |
| getProductSource(ProductId) |   | 74% |   | 62% | 2 | 5 | 8 | 22 | 0 | 1 |
| startup() |   | 33% |   | 50% | 1 | 2 | 6 | 9 | 0 | 1 |
| hasProduct(ProductId) |   | 89% |   | 85% | 2 | 8 | 3 | 28 | 0 | 1 |
| removeStorageListener(StorageListener) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| removeProduct(ProductId) |   | 91% |  | 100% | 0 | 3 | 2 | 23 | 0 | 1 |
| static {...} |   | 68% | | n/a | 0 | 1 | 3 | 9 | 0 | 1 |
| getProductFile(ProductId) |   | 78% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| getTempProductFile(ProductId) |   | 78% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| getProductPath(ProductId) |   | 63% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| setBaseDirectory(File) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| isRejectInvalidSignatures() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| isTestSignatures() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getKeychain() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getNormalProductPath(ProductId) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| FileProductStorage(File) |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| getProduct(ProductId) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| FileProductStorage() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| storeProduct(Product) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getProductHandlerFormat(File) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getProductSourceFormat(File) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setRejectInvalidSignatures(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setTestSignatures(boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setKeychain(ProductKeyChain) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getStorageLocks() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getBaseDirectory() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLegacyStorages() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |