| parseDatabaseMetadata(IntelliJKdbxMetadata, InputStream) |  | 0% |  | 0% | 15 | 15 | 35 | 35 | 1 | 1 |
| loadDatabase(InputStream, Salsa20) |  | 0% |  | 0% | 3 | 3 | 19 | 19 | 1 | 1 |
| buildHierarchialPath(String, Element) |  | 0% |  | 0% | 3 | 3 | 13 | 13 | 1 | 1 |
| parse(InputStream, String) |  | 0% | | n/a | 1 | 1 | 10 | 10 | 1 | 1 |
| getDatabaseEntryValue(Element, String) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| match(Element, String) |  | 0% |  | 0% | 5 | 5 | 5 | 5 | 1 | 1 |
| getElements(String, Element) |  | 0% |  | 0% | 2 | 2 | 7 | 7 | 1 | 1 |
| decryptInputStream(byte[], IntelliJKdbxMetadata, InputStream) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| getElement(String, Element, boolean) |  | 0% |  | 0% | 3 | 3 | 6 | 6 | 1 | 1 |
| validateInitialBytes(IntelliJKdbxMetadata, InputStream) |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| readInt(LittleEndianDataInputStream) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| readLong(LittleEndianDataInputStream) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| getProperty(Element, String) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| matchString(String, String) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| getDatabaseKey(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getElementContent(String, Element) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| readByteArray(LittleEndianDataInputStream) |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| setElementContent(String, Element, String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| IntelliJKdbxDatabase(Document, Element) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getDatabaseEntryValue(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getGroups(Element) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| static {...} |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |