| trimHistory(Path, int) |  | 0% |  | 0% | 3 | 3 | 20 | 20 | 1 | 1 |
| internalWrite(Path, int) |  | 0% |  | 0% | 6 | 6 | 17 | 17 | 1 | 1 |
| doTrimHistory(List, int) |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
| add(Instant, String) |  | 0% |  | 0% | 10 | 10 | 20 | 20 | 1 | 1 |
| read(Path, boolean) |  | 0% |  | 0% | 4 | 4 | 14 | 14 | 1 | 1 |
| matchPatterns(String, String) |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 1 | 1 |
| load() |   | 8% |   | 25% | 2 | 3 | 12 | 15 | 0 | 1 |
| addHistoryLine(Path, String, boolean) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1 |
| escape(String) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| unescape(String) |  | 0% |  | 0% | 5 | 5 | 13 | 13 | 1 | 1 |
| internalAdd(Instant, String, boolean) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| maybeResize() |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| format(History.Entry) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| write(Path, boolean) |  | 0% |  | 0% | 5 | 5 | 5 | 5 | 1 | 1 |
| lambda$trimHistory$2(LinkedList, String) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| toString() |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getHistoryFileData(Path) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| DefaultHistory(LineReader) |  | 0% | | n/a | 1 | 1 | 7 | 7 | 1 | 1 |
| purge() |  | 0% |  | 0% | 2 | 2 | 6 | 6 | 1 | 1 |
| moveTo(int) |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| append(Path, boolean) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| isLineReaderHistory(Path) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| internalClear() |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| getPath() |   | 58% |   | 50% | 4 | 5 | 3 | 8 | 0 | 1 |
| attach(LineReader) |   | 47% |   | 50% | 1 | 2 | 2 | 7 | 0 | 1 |
| moveToLast() |   | 42% |   | 25% | 2 | 3 | 2 | 5 | 0 | 1 |
| setHistoryFileData(Path, DefaultHistory.HistoryFileData) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| save() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| resetIndex() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| current() |   | 46% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| next() |   | 46% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| moveToFirst() |   | 38% |   | 25% | 2 | 3 | 2 | 4 | 0 | 1 |
| previous() |   | 38% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| doHistoryFileDataKey(Path) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| get(int) |   | 81% |   | 50% | 2 | 3 | 1 | 4 | 0 | 1 |
| createEntry(int, Instant, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| setLastLoaded(Path, int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| setEntriesInFile(Path, int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| incEntriesInFile(Path, int) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| addHistoryLine(Path, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| internalAdd(Instant, String) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$read$1(Path, boolean, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getLastLoaded(Path) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getEntriesInFile(Path) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$load$0(Path, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| spliterator() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| first() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| DefaultHistory() |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| last() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| iterator(int) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| index() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| moveToEnd() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| size() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isEmpty() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |