| parseQuotedValueMultiDelimiter() |  | 0% |  | 0% | 47 | 47 | 61 | 61 | 1 | 1 |
| parseMultiDelimiterRecord() |  | 0% |  | 0% | 19 | 19 | 29 | 29 | 1 | 1 |
| handleUnescapedQuote() |   | 19% |   | 9% | 11 | 12 | 26 | 34 | 0 | 1 |
| parseSingleDelimiterRecord() |   | 76% |   | 68% | 12 | 30 | 18 | 72 | 0 | 1 |
| parseQuotedValue() |   | 81% |   | 65% | 23 | 45 | 8 | 57 | 0 | 1 |
| skipValue() |  | 0% |  | 0% | 5 | 5 | 9 | 9 | 1 | 1 |
| skipWhitespace() |  | 0% |  | 0% | 8 | 8 | 8 | 8 | 1 | 1 |
| appendUntilMultiDelimiter() |  | 0% |  | 0% | 6 | 6 | 12 | 12 | 1 | 1 |
| parseValueProcessingEscapeMultiDelimiter() |  | 0% |  | 0% | 6 | 6 | 10 | 10 | 1 | 1 |
| matchDelimiter() |  | 0% |  | 0% | 5 | 5 | 11 | 11 | 1 | 1 |
| CsvParser(CsvParserSettings) |   | 68% |   | 27% | 8 | 10 | 5 | 27 | 0 | 1 |
| matchDelimiterAfterQuote() |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| nextDelimiter() |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| handleValueSkipping(boolean) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| saveMatchingCharacters() |  | 0% |  | 0% | 3 | 3 | 5 | 5 | 1 | 1 |
| processQuoteEscape() |   | 79% |   | 85% | 2 | 11 | 4 | 17 | 0 | 1 |
| updateFormat(CsvFormat) |   | 75% |   | 50% | 1 | 2 | 1 | 11 | 0 | 1 |
| consumeValueOnEOF() |   | 94% |   | 94% | 1 | 10 | 2 | 13 | 0 | 1 |
| handleUnescapedQuoteInValue() |  | 86% |   | 50% | 1 | 2 | 1 | 7 | 0 | 1 |
| parseRecord() |  | 77% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| getDetectedFormat() |  | 100% |  | 100% | 0 | 6 | 0 | 12 | 0 | 1 |
| parseValueProcessingEscape() |  | 100% |  | 100% | 0 | 6 | 0 | 10 | 0 | 1 |
| getInputAnalysisProcess() |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |