Modified: 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVParser.java.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVParser.java.html
 (original)
+++ 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVParser.java.html
 Wed Sep 25 02:11:29 2024
@@ -72,7 +72,7 @@ import org.apache.commons.io.function.Un
  * For those who like fluent APIs, parsers can be created using {@link 
CSVFormat#parse(java.io.Reader)} as a shortcut:
  * </p>
  * <pre>
- * for(CSVRecord record : CSVFormat.EXCEL.parse(in)) {
+ * for (CSVRecord record : CSVFormat.EXCEL.parse(in)) {
  *     ...
  * }
  * </pre>
@@ -82,12 +82,12 @@ import org.apache.commons.io.function.Un
  * To parse a CSV input from a file, you write:
  * </p>
  *
- * <pre>
- * File csvData = new File("/path/to/csv");
+ * <pre>{@code
+ * File csvData = new File("/path/to/csv");
  * CSVParser parser = CSVParser.parse(csvData, CSVFormat.RFC4180);
  * for (CSVRecord csvRecord : parser) {
  *     ...
- * }
+ * }}
  * </pre>
  *
  * <p>
@@ -116,11 +116,11 @@ import org.apache.commons.io.function.Un
  * If parsing record-wise is not desired, the contents of the input can be 
read completely into memory.
  * </p>
  *
- * <pre>
- * Reader in = new StringReader("a;b\nc;d");
+ * <pre>{@code
+ * Reader in = new StringReader("a;b\nc;d");
  * CSVParser parser = new CSVParser(in, CSVFormat.EXCEL);
- * List<CSVRecord> list = parser.getRecords();
- * </pre>
+ * List<CSVRecord> list = parser.getRecords();
+ * }</pre>
  *
  * <p>
  * There are two constraints that have to be kept in mind:
@@ -145,44 +145,49 @@ public final class CSVParser implements
 <span class="fc" id="L145">    final class CSVRecordIterator implements 
Iterator&lt;CSVRecord&gt; {</span>
         private CSVRecord current;
 
+        /**
+         * Gets the next record.
+         *
+         * @return the next record.
+         */
         private CSVRecord getNextRecord() {
-<span class="fc" id="L149">            return 
Uncheck.get(CSVParser.this::nextRecord);</span>
+<span class="fc" id="L154">            return 
Uncheck.get(CSVParser.this::nextRecord);</span>
         }
 
         @Override
         public boolean hasNext() {
-<span class="fc bfc" id="L154" title="All 2 branches covered.">            if 
(CSVParser.this.isClosed()) {</span>
-<span class="fc" id="L155">                return false;</span>
+<span class="fc bfc" id="L159" title="All 2 branches covered.">            if 
(isClosed()) {</span>
+<span class="fc" id="L160">                return false;</span>
             }
-<span class="fc bfc" id="L157" title="All 2 branches covered.">            if 
(current == null) {</span>
-<span class="fc" id="L158">                current = getNextRecord();</span>
+<span class="fc bfc" id="L162" title="All 2 branches covered.">            if 
(current == null) {</span>
+<span class="fc" id="L163">                current = getNextRecord();</span>
             }
 
-<span class="fc bfc" id="L161" title="All 2 branches covered.">            
return current != null;</span>
+<span class="fc bfc" id="L166" title="All 2 branches covered.">            
return current != null;</span>
         }
 
         @Override
         public CSVRecord next() {
-<span class="fc bfc" id="L166" title="All 2 branches covered.">            if 
(CSVParser.this.isClosed()) {</span>
-<span class="fc" id="L167">                throw new 
NoSuchElementException(&quot;CSVParser has been closed&quot;);</span>
+<span class="fc bfc" id="L171" title="All 2 branches covered.">            if 
(isClosed()) {</span>
+<span class="fc" id="L172">                throw new 
NoSuchElementException(&quot;CSVParser has been closed&quot;);</span>
             }
-<span class="fc" id="L169">            CSVRecord next = current;</span>
-<span class="fc" id="L170">            current = null;</span>
+<span class="fc" id="L174">            CSVRecord next = current;</span>
+<span class="fc" id="L175">            current = null;</span>
 
-<span class="fc bfc" id="L172" title="All 2 branches covered.">            if 
(next == null) {</span>
+<span class="fc bfc" id="L177" title="All 2 branches covered.">            if 
(next == null) {</span>
                 // hasNext() wasn't called before
-<span class="fc" id="L174">                next = getNextRecord();</span>
-<span class="fc bfc" id="L175" title="All 2 branches covered.">                
if (next == null) {</span>
-<span class="fc" id="L176">                    throw new 
NoSuchElementException(&quot;No more CSV records available&quot;);</span>
+<span class="fc" id="L179">                next = getNextRecord();</span>
+<span class="fc bfc" id="L180" title="All 2 branches covered.">                
if (next == null) {</span>
+<span class="fc" id="L181">                    throw new 
NoSuchElementException(&quot;No more CSV records available&quot;);</span>
                 }
             }
 
-<span class="fc" id="L180">            return next;</span>
+<span class="fc" id="L185">            return next;</span>
         }
 
         @Override
         public void remove() {
-<span class="fc" id="L185">            throw new 
UnsupportedOperationException();</span>
+<span class="fc" id="L190">            throw new 
UnsupportedOperationException();</span>
         }
     }
 
@@ -201,10 +206,10 @@ public final class CSVParser implements
          */
         final List&lt;String&gt; headerNames;
 
-<span class="fc" id="L204">        Headers(final Map&lt;String, Integer&gt; 
headerMap, final List&lt;String&gt; headerNames) {</span>
-<span class="fc" id="L205">            this.headerMap = headerMap;</span>
-<span class="fc" id="L206">            this.headerNames = headerNames;</span>
-<span class="fc" id="L207">        }</span>
+<span class="fc" id="L209">        Headers(final Map&lt;String, Integer&gt; 
headerMap, final List&lt;String&gt; headerNames) {</span>
+<span class="fc" id="L210">            this.headerMap = headerMap;</span>
+<span class="fc" id="L211">            this.headerNames = headerNames;</span>
+<span class="fc" id="L212">        }</span>
     }
 
     /**
@@ -221,10 +226,11 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either file or format are null.
      * @throws IOException
      *             If an I/O error occurs
+     * @throws CSVException Thrown on invalid input.
      */
     public static CSVParser parse(final File file, final Charset charset, 
final CSVFormat format) throws IOException {
-<span class="fc" id="L226">        Objects.requireNonNull(file, 
&quot;file&quot;);</span>
-<span class="fc" id="L227">        return parse(file.toPath(), charset, 
format);</span>
+<span class="fc" id="L232">        Objects.requireNonNull(file, 
&quot;file&quot;);</span>
+<span class="fc" id="L233">        return parse(file.toPath(), charset, 
format);</span>
     }
 
     /**
@@ -246,14 +252,15 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either reader or format are null.
      * @throws IOException
      *             If there is a problem reading the header or skipping the 
first record
+     * @throws CSVException Thrown on invalid input.
      * @since 1.5
      */
     @SuppressWarnings(&quot;resource&quot;)
     public static CSVParser parse(final InputStream inputStream, final Charset 
charset, final CSVFormat format)
             throws IOException {
-<span class="fc" id="L254">        Objects.requireNonNull(inputStream, 
&quot;inputStream&quot;);</span>
-<span class="fc" id="L255">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
-<span class="fc" id="L256">        return parse(new 
InputStreamReader(inputStream, charset), format);</span>
+<span class="fc" id="L261">        Objects.requireNonNull(inputStream, 
&quot;inputStream&quot;);</span>
+<span class="fc" id="L262">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
+<span class="fc" id="L263">        return parse(new 
InputStreamReader(inputStream, charset), format);</span>
     }
 
     /**
@@ -270,13 +277,14 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either file or format are null.
      * @throws IOException
      *             If an I/O error occurs
+     * @throws CSVException Thrown on invalid input.
      * @since 1.5
      */
     @SuppressWarnings(&quot;resource&quot;)
     public static CSVParser parse(final Path path, final Charset charset, 
final CSVFormat format) throws IOException {
-<span class="fc" id="L277">        Objects.requireNonNull(path, 
&quot;path&quot;);</span>
-<span class="fc" id="L278">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
-<span class="fc" id="L279">        return parse(Files.newInputStream(path), 
charset, format);</span>
+<span class="fc" id="L285">        Objects.requireNonNull(path, 
&quot;path&quot;);</span>
+<span class="fc" id="L286">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
+<span class="fc" id="L287">        return parse(Files.newInputStream(path), 
charset, format);</span>
     }
 
     /**
@@ -296,10 +304,11 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either reader or format are null.
      * @throws IOException
      *             If there is a problem reading the header or skipping the 
first record
+     * @throws CSVException Thrown on invalid input.
      * @since 1.5
      */
     public static CSVParser parse(final Reader reader, final CSVFormat format) 
throws IOException {
-<span class="fc" id="L302">        return new CSVParser(reader, format);</span>
+<span class="fc" id="L311">        return new CSVParser(reader, format);</span>
     }
 
     /**
@@ -314,12 +323,13 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either string or format are null.
      * @throws IOException
      *             If an I/O error occurs
+     * @throws CSVException Thrown on invalid input.
      */
     public static CSVParser parse(final String string, final CSVFormat format) 
throws IOException {
-<span class="fc" id="L319">        Objects.requireNonNull(string, 
&quot;string&quot;);</span>
-<span class="fc" id="L320">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
+<span class="fc" id="L329">        Objects.requireNonNull(string, 
&quot;string&quot;);</span>
+<span class="fc" id="L330">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
 
-<span class="fc" id="L322">        return new CSVParser(new 
StringReader(string), format);</span>
+<span class="fc" id="L332">        return new CSVParser(new 
StringReader(string), format);</span>
     }
 
     /**
@@ -341,14 +351,15 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either url, charset or format are null.
      * @throws IOException
      *             If an I/O error occurs
+     * @throws CSVException Thrown on invalid input.
      */
     @SuppressWarnings(&quot;resource&quot;)
     public static CSVParser parse(final URL url, final Charset charset, final 
CSVFormat format) throws IOException {
-<span class="fc" id="L347">        Objects.requireNonNull(url, 
&quot;url&quot;);</span>
-<span class="fc" id="L348">        Objects.requireNonNull(charset, 
&quot;charset&quot;);</span>
-<span class="fc" id="L349">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
+<span class="fc" id="L358">        Objects.requireNonNull(url, 
&quot;url&quot;);</span>
+<span class="fc" id="L359">        Objects.requireNonNull(charset, 
&quot;charset&quot;);</span>
+<span class="fc" id="L360">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
 
-<span class="fc" id="L351">        return new CSVParser(new 
InputStreamReader(url.openStream(), charset), format);</span>
+<span class="fc" id="L362">        return new CSVParser(new 
InputStreamReader(url.openStream(), charset), format);</span>
     }
 
     private String headerComment;
@@ -364,7 +375,7 @@ public final class CSVParser implements
     private final CSVRecordIterator csvRecordIterator;
 
     /** A record buffer for getRecord(). Grows as necessary and is reused. */
-<span class="fc" id="L367">    private final List&lt;String&gt; recordList = 
new ArrayList&lt;&gt;();</span>
+<span class="fc" id="L378">    private final List&lt;String&gt; recordList = 
new ArrayList&lt;&gt;();</span>
 
     /**
      * The next record number to assign.
@@ -377,7 +388,7 @@ public final class CSVParser implements
      */
     private final long characterOffset;
 
-<span class="fc" id="L380">    private final Token reusableToken = new 
Token();</span>
+<span class="fc" id="L391">    private final Token reusableToken = new 
Token();</span>
 
     /**
      * Constructs a new instance using the given {@link CSVFormat}
@@ -395,10 +406,11 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either reader or format are null.
      * @throws IOException
      *             If there is a problem reading the header or skipping the 
first record
+     * @throws CSVException Thrown on invalid input.
      */
     public CSVParser(final Reader reader, final CSVFormat format) throws 
IOException {
-<span class="fc" id="L400">        this(reader, format, 0, 1);</span>
-<span class="fc" id="L401">    }</span>
+<span class="fc" id="L412">        this(reader, format, 0, 1);</span>
+<span class="fc" id="L413">    }</span>
 
     /**
      * Constructs a new instance using the given {@link CSVFormat}
@@ -420,28 +432,29 @@ public final class CSVParser implements
      *             If the parameters of the format are inconsistent or if 
either the reader or format is null.
      * @throws IOException
      *             If there is a problem reading the header or skipping the 
first record
+     * @throws CSVException Thrown on invalid input.
      * @since 1.1
      */
     @SuppressWarnings(&quot;resource&quot;)
     public CSVParser(final Reader reader, final CSVFormat format, final long 
characterOffset, final long recordNumber)
-<span class="fc" id="L427">        throws IOException {</span>
-<span class="fc" id="L428">        Objects.requireNonNull(reader, 
&quot;reader&quot;);</span>
-<span class="fc" id="L429">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
-<span class="fc" id="L430">        this.format = format.copy();</span>
-<span class="fc" id="L431">        this.lexer = new Lexer(format, new 
ExtendedBufferedReader(reader));</span>
-<span class="fc" id="L432">        this.csvRecordIterator = new 
CSVRecordIterator();</span>
-<span class="fc" id="L433">        this.headers = createHeaders();</span>
-<span class="fc" id="L434">        this.characterOffset = 
characterOffset;</span>
-<span class="fc" id="L435">        this.recordNumber = recordNumber - 1;</span>
-<span class="fc" id="L436">    }</span>
+<span class="fc" id="L440">        throws IOException {</span>
+<span class="fc" id="L441">        Objects.requireNonNull(reader, 
&quot;reader&quot;);</span>
+<span class="fc" id="L442">        Objects.requireNonNull(format, 
&quot;format&quot;);</span>
+<span class="fc" id="L443">        this.format = format.copy();</span>
+<span class="fc" id="L444">        this.lexer = new Lexer(format, new 
ExtendedBufferedReader(reader));</span>
+<span class="fc" id="L445">        this.csvRecordIterator = new 
CSVRecordIterator();</span>
+<span class="fc" id="L446">        this.headers = createHeaders();</span>
+<span class="fc" id="L447">        this.characterOffset = 
characterOffset;</span>
+<span class="fc" id="L448">        this.recordNumber = recordNumber - 1;</span>
+<span class="fc" id="L449">    }</span>
 
     private void addRecordValue(final boolean lastRecord) {
-<span class="fc" id="L439">        final String input = 
format.trim(reusableToken.content.toString());</span>
-<span class="fc bfc" id="L440" title="All 6 branches covered.">        if 
(lastRecord &amp;&amp; input.isEmpty() &amp;&amp; 
format.getTrailingDelimiter()) {</span>
-<span class="fc" id="L441">            return;</span>
+<span class="fc" id="L452">        final String input = 
format.trim(reusableToken.content.toString());</span>
+<span class="fc bfc" id="L453" title="All 6 branches covered.">        if 
(lastRecord &amp;&amp; input.isEmpty() &amp;&amp; 
format.getTrailingDelimiter()) {</span>
+<span class="fc" id="L454">            return;</span>
         }
-<span class="fc" id="L443">        recordList.add(handleNull(input));</span>
-<span class="fc" id="L444">    }</span>
+<span class="fc" id="L456">        recordList.add(handleNull(input));</span>
+<span class="fc" id="L457">    }</span>
 
     /**
      * Closes resources.
@@ -451,13 +464,13 @@ public final class CSVParser implements
      */
     @Override
     public void close() throws IOException {
-<span class="fc" id="L454">        lexer.close();</span>
-<span class="fc" id="L455">    }</span>
+<span class="fc" id="L467">        lexer.close();</span>
+<span class="fc" id="L468">    }</span>
 
     private Map&lt;String, Integer&gt; createEmptyHeaderMap() {
-<span class="fc bfc" id="L458" title="All 2 branches covered.">        return 
format.getIgnoreHeaderCase() ?</span>
-<span class="fc" id="L459">                new 
TreeMap&lt;&gt;(String.CASE_INSENSITIVE_ORDER) :</span>
-<span class="fc" id="L460">                new LinkedHashMap&lt;&gt;();</span>
+<span class="fc bfc" id="L471" title="All 2 branches covered.">        return 
format.getIgnoreHeaderCase() ?</span>
+<span class="fc" id="L472">                new 
TreeMap&lt;&gt;(String.CASE_INSENSITIVE_ORDER) :</span>
+<span class="fc" id="L473">                new LinkedHashMap&lt;&gt;();</span>
     }
 
     /**
@@ -465,67 +478,68 @@ public final class CSVParser implements
      *
      * @return null if the format has no header.
      * @throws IOException if there is a problem reading the header or 
skipping the first record
+     * @throws CSVException Thrown on invalid input.
      */
     private Headers createHeaders() throws IOException {
-<span class="fc" id="L470">        Map&lt;String, Integer&gt; hdrMap = 
null;</span>
-<span class="fc" id="L471">        List&lt;String&gt; headerNames = 
null;</span>
-<span class="fc" id="L472">        final String[] formatHeader = 
format.getHeader();</span>
-<span class="fc bfc" id="L473" title="All 2 branches covered.">        if 
(formatHeader != null) {</span>
-<span class="fc" id="L474">            hdrMap = createEmptyHeaderMap();</span>
-<span class="fc" id="L475">            String[] headerRecord = null;</span>
-<span class="fc bfc" id="L476" title="All 2 branches covered.">            if 
(formatHeader.length == 0) {</span>
+<span class="fc" id="L484">        Map&lt;String, Integer&gt; hdrMap = 
null;</span>
+<span class="fc" id="L485">        List&lt;String&gt; headerNames = 
null;</span>
+<span class="fc" id="L486">        final String[] formatHeader = 
format.getHeader();</span>
+<span class="fc bfc" id="L487" title="All 2 branches covered.">        if 
(formatHeader != null) {</span>
+<span class="fc" id="L488">            hdrMap = createEmptyHeaderMap();</span>
+<span class="fc" id="L489">            String[] headerRecord = null;</span>
+<span class="fc bfc" id="L490" title="All 2 branches covered.">            if 
(formatHeader.length == 0) {</span>
                 // read the header from the first line of the file
-<span class="fc" id="L478">                final CSVRecord nextRecord = 
nextRecord();</span>
-<span class="fc bfc" id="L479" title="All 2 branches covered.">                
if (nextRecord != null) {</span>
-<span class="fc" id="L480">                    headerRecord = 
nextRecord.values();</span>
-<span class="fc" id="L481">                    headerComment = 
nextRecord.getComment();</span>
+<span class="fc" id="L492">                final CSVRecord nextRecord = 
nextRecord();</span>
+<span class="fc bfc" id="L493" title="All 2 branches covered.">                
if (nextRecord != null) {</span>
+<span class="fc" id="L494">                    headerRecord = 
nextRecord.values();</span>
+<span class="fc" id="L495">                    headerComment = 
nextRecord.getComment();</span>
                 }
-<span class="fc" id="L483">            } else {</span>
-<span class="fc bfc" id="L484" title="All 2 branches covered.">                
if (format.getSkipHeaderRecord()) {</span>
-<span class="fc" id="L485">                    final CSVRecord nextRecord = 
nextRecord();</span>
-<span class="pc bpc" id="L486" title="1 of 2 branches missed.">                
    if (nextRecord != null) {</span>
-<span class="fc" id="L487">                        headerComment = 
nextRecord.getComment();</span>
+<span class="fc" id="L497">            } else {</span>
+<span class="fc bfc" id="L498" title="All 2 branches covered.">                
if (format.getSkipHeaderRecord()) {</span>
+<span class="fc" id="L499">                    final CSVRecord nextRecord = 
nextRecord();</span>
+<span class="pc bpc" id="L500" title="1 of 2 branches missed.">                
    if (nextRecord != null) {</span>
+<span class="fc" id="L501">                        headerComment = 
nextRecord.getComment();</span>
                     }
                 }
-<span class="fc" id="L490">                headerRecord = formatHeader;</span>
+<span class="fc" id="L504">                headerRecord = formatHeader;</span>
             }
 
             // build the name to index mappings
-<span class="fc bfc" id="L494" title="All 2 branches covered.">            if 
(headerRecord != null) {</span>
+<span class="fc bfc" id="L508" title="All 2 branches covered.">            if 
(headerRecord != null) {</span>
                 // Track an occurrence of a null, empty or blank header.
-<span class="fc" id="L496">                boolean observedMissing = 
false;</span>
-<span class="fc bfc" id="L497" title="All 2 branches covered.">                
for (int i = 0; i &lt; headerRecord.length; i++) {</span>
-<span class="fc" id="L498">                    final String header = 
headerRecord[i];</span>
-<span class="fc" id="L499">                    final boolean blankHeader = 
CSVFormat.isBlank(header);</span>
-<span class="fc bfc" id="L500" title="All 4 branches covered.">                
    if (blankHeader &amp;&amp; !format.getAllowMissingColumnNames()) {</span>
-<span class="fc" id="L501">                        throw new 
IllegalArgumentException(</span>
-<span class="fc" id="L502">                            &quot;A header name is 
missing in &quot; + Arrays.toString(headerRecord));</span>
+<span class="fc" id="L510">                boolean observedMissing = 
false;</span>
+<span class="fc bfc" id="L511" title="All 2 branches covered.">                
for (int i = 0; i &lt; headerRecord.length; i++) {</span>
+<span class="fc" id="L512">                    final String header = 
headerRecord[i];</span>
+<span class="fc" id="L513">                    final boolean blankHeader = 
CSVFormat.isBlank(header);</span>
+<span class="fc bfc" id="L514" title="All 4 branches covered.">                
    if (blankHeader &amp;&amp; !format.getAllowMissingColumnNames()) {</span>
+<span class="fc" id="L515">                        throw new 
IllegalArgumentException(</span>
+<span class="fc" id="L516">                            &quot;A header name is 
missing in &quot; + Arrays.toString(headerRecord));</span>
                     }
 
-<span class="fc bfc" id="L505" title="All 2 branches covered.">                
    final boolean containsHeader = blankHeader ? observedMissing : 
hdrMap.containsKey(header);</span>
-<span class="fc" id="L506">                    final DuplicateHeaderMode 
headerMode = format.getDuplicateHeaderMode();</span>
-<span class="fc bfc" id="L507" title="All 2 branches covered.">                
    final boolean duplicatesAllowed = headerMode == 
DuplicateHeaderMode.ALLOW_ALL;</span>
-<span class="fc bfc" id="L508" title="All 2 branches covered.">                
    final boolean emptyDuplicatesAllowed = headerMode == 
DuplicateHeaderMode.ALLOW_EMPTY;</span>
-
-<span class="fc bfc" id="L510" title="All 8 branches covered.">                
    if (containsHeader &amp;&amp; !duplicatesAllowed &amp;&amp; !(blankHeader 
&amp;&amp; emptyDuplicatesAllowed)) {</span>
-<span class="fc" id="L511">                        throw new 
IllegalArgumentException(</span>
-<span class="fc" id="L512">                            String.format(</span>
+<span class="fc bfc" id="L519" title="All 2 branches covered.">                
    final boolean containsHeader = blankHeader ? observedMissing : 
hdrMap.containsKey(header);</span>
+<span class="fc" id="L520">                    final DuplicateHeaderMode 
headerMode = format.getDuplicateHeaderMode();</span>
+<span class="fc bfc" id="L521" title="All 2 branches covered.">                
    final boolean duplicatesAllowed = headerMode == 
DuplicateHeaderMode.ALLOW_ALL;</span>
+<span class="fc bfc" id="L522" title="All 2 branches covered.">                
    final boolean emptyDuplicatesAllowed = headerMode == 
DuplicateHeaderMode.ALLOW_EMPTY;</span>
+
+<span class="fc bfc" id="L524" title="All 8 branches covered.">                
    if (containsHeader &amp;&amp; !duplicatesAllowed &amp;&amp; !(blankHeader 
&amp;&amp; emptyDuplicatesAllowed)) {</span>
+<span class="fc" id="L525">                        throw new 
IllegalArgumentException(</span>
+<span class="fc" id="L526">                            String.format(</span>
                                 &quot;The header contains a duplicate name: 
\&quot;%s\&quot; in %s. If this is valid then use 
CSVFormat.Builder.setDuplicateHeaderMode().&quot;,
-<span class="fc" id="L514">                                header, 
Arrays.toString(headerRecord)));</span>
+<span class="fc" id="L528">                                header, 
Arrays.toString(headerRecord)));</span>
                     }
-<span class="fc" id="L516">                    observedMissing |= 
blankHeader;</span>
-<span class="fc bfc" id="L517" title="All 2 branches covered.">                
    if (header != null) {</span>
-<span class="fc" id="L518">                        hdrMap.put(header, 
Integer.valueOf(i));</span>
-<span class="fc bfc" id="L519" title="All 2 branches covered.">                
        if (headerNames == null) {</span>
-<span class="fc" id="L520">                            headerNames = new 
ArrayList&lt;&gt;(headerRecord.length);</span>
+<span class="fc" id="L530">                    observedMissing |= 
blankHeader;</span>
+<span class="fc bfc" id="L531" title="All 2 branches covered.">                
    if (header != null) {</span>
+<span class="fc" id="L532">                        hdrMap.put(header, 
Integer.valueOf(i)); // N.B. Explicit (un)boxing is intentional</span>
+<span class="fc bfc" id="L533" title="All 2 branches covered.">                
        if (headerNames == null) {</span>
+<span class="fc" id="L534">                            headerNames = new 
ArrayList&lt;&gt;(headerRecord.length);</span>
                         }
-<span class="fc" id="L522">                        
headerNames.add(header);</span>
+<span class="fc" id="L536">                        
headerNames.add(header);</span>
                     }
                 }
             }
         }
         // Make header names Collection immutable
-<span class="fc bfc" id="L528" title="All 2 branches covered.">        return 
new Headers(hdrMap, headerNames == null ? Collections.emptyList() : 
Collections.unmodifiableList(headerNames));</span>
+<span class="fc bfc" id="L542" title="All 2 branches covered.">        return 
new Headers(hdrMap, headerNames == null ? Collections.emptyList() : 
Collections.unmodifiableList(headerNames));</span>
     }
 
     /**
@@ -539,7 +553,7 @@ public final class CSVParser implements
      * @return current line number
      */
     public long getCurrentLineNumber() {
-<span class="fc" id="L542">        return lexer.getCurrentLineNumber();</span>
+<span class="fc" id="L556">        return lexer.getCurrentLineNumber();</span>
     }
 
     /**
@@ -549,7 +563,7 @@ public final class CSVParser implements
      * @since 1.5
      */
     public String getFirstEndOfLine() {
-<span class="fc" id="L552">        return lexer.getFirstEol();</span>
+<span class="fc" id="L566">        return lexer.getFirstEol();</span>
     }
 
     /**
@@ -560,7 +574,7 @@ public final class CSVParser implements
      * @since 1.10.0
      */
     public String getHeaderComment() {
-<span class="fc" id="L563">        return headerComment;</span>
+<span class="fc" id="L577">        return headerComment;</span>
     }
 
     /**
@@ -576,12 +590,12 @@ public final class CSVParser implements
      * @return a copy of the header map.
      */
     public Map&lt;String, Integer&gt; getHeaderMap() {
-<span class="fc bfc" id="L579" title="All 2 branches covered.">        if 
(headers.headerMap == null) {</span>
-<span class="fc" id="L580">            return null;</span>
+<span class="fc bfc" id="L593" title="All 2 branches covered.">        if 
(headers.headerMap == null) {</span>
+<span class="fc" id="L594">            return null;</span>
         }
-<span class="fc" id="L582">        final Map&lt;String, Integer&gt; map = 
createEmptyHeaderMap();</span>
-<span class="fc" id="L583">        map.putAll(headers.headerMap);</span>
-<span class="fc" id="L584">        return map;</span>
+<span class="fc" id="L596">        final Map&lt;String, Integer&gt; map = 
createEmptyHeaderMap();</span>
+<span class="fc" id="L597">        map.putAll(headers.headerMap);</span>
+<span class="fc" id="L598">        return map;</span>
     }
 
     /**
@@ -590,7 +604,7 @@ public final class CSVParser implements
      * @return the underlying header map.
      */
     Map&lt;String, Integer&gt; getHeaderMapRaw() {
-<span class="fc" id="L593">        return headers.headerMap;</span>
+<span class="fc" id="L607">        return headers.headerMap;</span>
     }
 
     /**
@@ -606,7 +620,7 @@ public final class CSVParser implements
      * @since 1.7
      */
     public List&lt;String&gt; getHeaderNames() {
-<span class="fc" id="L609">        return 
Collections.unmodifiableList(headers.headerNames);</span>
+<span class="fc" id="L623">        return 
Collections.unmodifiableList(headers.headerNames);</span>
     }
 
     /**
@@ -620,7 +634,7 @@ public final class CSVParser implements
      * @return current record number
      */
     public long getRecordNumber() {
-<span class="fc" id="L623">        return recordNumber;</span>
+<span class="fc" id="L637">        return recordNumber;</span>
     }
 
     /**
@@ -636,7 +650,7 @@ public final class CSVParser implements
      *             on parse error or input read-failure
      */
     public List&lt;CSVRecord&gt; getRecords() {
-<span class="fc" id="L639">        return 
stream().collect(Collectors.toList());</span>
+<span class="fc" id="L653">        return 
stream().collect(Collectors.toList());</span>
     }
 
     /**
@@ -647,7 +661,7 @@ public final class CSVParser implements
      * @since 1.10.0
      */
     public String getTrailerComment() {
-<span class="fc" id="L650">        return trailerComment;</span>
+<span class="fc" id="L664">        return trailerComment;</span>
     }
 
     /**
@@ -658,15 +672,15 @@ public final class CSVParser implements
      * @return null if input is parsed as null, or input itself if the input 
isn't parsed as null
      */
     private String handleNull(final String input) {
-<span class="fc" id="L661">        final boolean isQuoted = 
reusableToken.isQuoted;</span>
-<span class="fc" id="L662">        final String nullString = 
format.getNullString();</span>
-<span class="fc" id="L663">        final boolean strictQuoteMode = 
isStrictQuoteMode();</span>
-<span class="fc bfc" id="L664" title="All 2 branches covered.">        if 
(input.equals(nullString)) {</span>
+<span class="fc" id="L675">        final boolean isQuoted = 
reusableToken.isQuoted;</span>
+<span class="fc" id="L676">        final String nullString = 
format.getNullString();</span>
+<span class="fc" id="L677">        final boolean strictQuoteMode = 
isStrictQuoteMode();</span>
+<span class="fc bfc" id="L678" title="All 2 branches covered.">        if 
(input.equals(nullString)) {</span>
             // nullString = NULL(String), distinguish between &quot;NULL&quot; 
and NULL in ALL_NON_NULL or NON_NUMERIC quote mode
-<span class="fc bfc" id="L666" title="All 4 branches covered.">            
return strictQuoteMode &amp;&amp; isQuoted ? input : null;</span>
+<span class="fc bfc" id="L680" title="All 4 branches covered.">            
return strictQuoteMode &amp;&amp; isQuoted ? input : null;</span>
         }
         // don't set nullString, distinguish between &quot;&quot; and ,, 
(absent values) in All_NON_NULL or NON_NUMERIC quote mode
-<span class="fc bfc" id="L669" title="All 8 branches covered.">        return 
strictQuoteMode &amp;&amp; nullString == null &amp;&amp; input.isEmpty() 
&amp;&amp; !isQuoted ? null : input;</span>
+<span class="fc bfc" id="L683" title="All 8 branches covered.">        return 
strictQuoteMode &amp;&amp; nullString == null &amp;&amp; input.isEmpty() 
&amp;&amp; !isQuoted ? null : input;</span>
     }
 
     /**
@@ -682,7 +696,7 @@ public final class CSVParser implements
      * @since 1.10.0
      */
     public boolean hasHeaderComment() {
-<span class="fc bfc" id="L685" title="All 2 branches covered.">        return 
headerComment != null;</span>
+<span class="fc bfc" id="L699" title="All 2 branches covered.">        return 
headerComment != null;</span>
     }
 
     /**
@@ -695,7 +709,7 @@ public final class CSVParser implements
      * @since 1.10.0
      */
     public boolean hasTrailerComment() {
-<span class="fc bfc" id="L698" title="All 2 branches covered.">        return 
trailerComment != null;</span>
+<span class="fc bfc" id="L712" title="All 2 branches covered.">        return 
trailerComment != null;</span>
     }
 
     /**
@@ -704,7 +718,7 @@ public final class CSVParser implements
      * @return whether this parser is closed.
      */
     public boolean isClosed() {
-<span class="fc" id="L707">        return lexer.isClosed();</span>
+<span class="fc" id="L721">        return lexer.isClosed();</span>
     }
 
     /**
@@ -714,8 +728,8 @@ public final class CSVParser implements
      *         {@link QuoteMode#NON_NUMERIC}.
      */
     private boolean isStrictQuoteMode() {
-<span class="fc bfc" id="L717" title="All 2 branches covered.">        return 
format.getQuoteMode() == QuoteMode.ALL_NON_NULL ||</span>
-<span class="fc bfc" id="L718" title="All 2 branches covered.">               
format.getQuoteMode() == QuoteMode.NON_NUMERIC;</span>
+<span class="fc bfc" id="L731" title="All 2 branches covered.">        return 
format.getQuoteMode() == QuoteMode.ALL_NON_NULL ||</span>
+<span class="fc bfc" id="L732" title="All 2 branches covered.">               
format.getQuoteMode() == QuoteMode.NON_NUMERIC;</span>
     }
 
     /**
@@ -739,61 +753,61 @@ public final class CSVParser implements
      */
     @Override
     public Iterator&lt;CSVRecord&gt; iterator() {
-<span class="fc" id="L742">        return csvRecordIterator;</span>
+<span class="fc" id="L756">        return csvRecordIterator;</span>
     }
 
     /**
      * Parses the next record from the current point in the stream.
      *
      * @return the record as an array of values, or {@code null} if the end of 
the stream has been reached
-     * @throws IOException
-     *             on parse error or input read-failure
+     * @throws IOException  on parse error or input read-failure
+     * @throws CSVException Thrown on invalid input.
      */
     CSVRecord nextRecord() throws IOException {
-<span class="fc" id="L753">        CSVRecord result = null;</span>
-<span class="fc" id="L754">        recordList.clear();</span>
-<span class="fc" id="L755">        StringBuilder sb = null;</span>
-<span class="fc" id="L756">        final long startCharPosition = 
lexer.getCharacterPosition() + characterOffset;</span>
+<span class="fc" id="L767">        CSVRecord result = null;</span>
+<span class="fc" id="L768">        recordList.clear();</span>
+<span class="fc" id="L769">        StringBuilder sb = null;</span>
+<span class="fc" id="L770">        final long startCharPosition = 
lexer.getCharacterPosition() + characterOffset;</span>
         do {
-<span class="fc" id="L758">            reusableToken.reset();</span>
-<span class="fc" id="L759">            lexer.nextToken(reusableToken);</span>
-<span class="pc bpc" id="L760" title="2 of 6 branches missed.">            
switch (reusableToken.type) {</span>
+<span class="fc" id="L772">            reusableToken.reset();</span>
+<span class="fc" id="L773">            lexer.nextToken(reusableToken);</span>
+<span class="pc bpc" id="L774" title="2 of 6 branches missed.">            
switch (reusableToken.type) {</span>
             case TOKEN:
-<span class="fc" id="L762">                addRecordValue(false);</span>
-<span class="fc" id="L763">                break;</span>
+<span class="fc" id="L776">                addRecordValue(false);</span>
+<span class="fc" id="L777">                break;</span>
             case EORECORD:
-<span class="fc" id="L765">                addRecordValue(true);</span>
-<span class="fc" id="L766">                break;</span>
+<span class="fc" id="L779">                addRecordValue(true);</span>
+<span class="fc" id="L780">                break;</span>
             case EOF:
-<span class="fc bfc" id="L768" title="All 2 branches covered.">                
if (reusableToken.isReady) {</span>
-<span class="fc" id="L769">                    addRecordValue(true);</span>
-<span class="fc bfc" id="L770" title="All 2 branches covered.">                
} else if (sb != null) {</span>
-<span class="fc" id="L771">                    trailerComment = 
sb.toString();</span>
+<span class="fc bfc" id="L782" title="All 2 branches covered.">                
if (reusableToken.isReady) {</span>
+<span class="fc" id="L783">                    addRecordValue(true);</span>
+<span class="fc bfc" id="L784" title="All 2 branches covered.">                
} else if (sb != null) {</span>
+<span class="fc" id="L785">                    trailerComment = 
sb.toString();</span>
                 }
                 break;
             case INVALID:
-<span class="nc" id="L775">                throw new IOException(&quot;(line 
&quot; + getCurrentLineNumber() + &quot;) invalid parse sequence&quot;);</span>
+<span class="nc" id="L789">                throw new IOException(&quot;(line 
&quot; + getCurrentLineNumber() + &quot;) invalid parse sequence&quot;);</span>
             case COMMENT: // Ignored currently
-<span class="fc bfc" id="L777" title="All 2 branches covered.">                
if (sb == null) { // first comment for this record</span>
-<span class="fc" id="L778">                    sb = new StringBuilder();</span>
+<span class="fc bfc" id="L791" title="All 2 branches covered.">                
if (sb == null) { // first comment for this record</span>
+<span class="fc" id="L792">                    sb = new StringBuilder();</span>
                 } else {
-<span class="fc" id="L780">                    sb.append(Constants.LF);</span>
+<span class="fc" id="L794">                    sb.append(Constants.LF);</span>
                 }
-<span class="fc" id="L782">                
sb.append(reusableToken.content);</span>
-<span class="fc" id="L783">                reusableToken.type = TOKEN; // Read 
another token</span>
-<span class="fc" id="L784">                break;</span>
+<span class="fc" id="L796">                
sb.append(reusableToken.content);</span>
+<span class="fc" id="L797">                reusableToken.type = TOKEN; // Read 
another token</span>
+<span class="fc" id="L798">                break;</span>
             default:
-<span class="nc" id="L786">                throw new 
IllegalStateException(&quot;Unexpected Token type: &quot; + 
reusableToken.type);</span>
+<span class="nc" id="L800">                throw new 
IllegalStateException(&quot;Unexpected Token type: &quot; + 
reusableToken.type);</span>
             }
-<span class="fc bfc" id="L788" title="All 2 branches covered.">        } while 
(reusableToken.type == TOKEN);</span>
+<span class="fc bfc" id="L802" title="All 2 branches covered.">        } while 
(reusableToken.type == TOKEN);</span>
 
-<span class="fc bfc" id="L790" title="All 2 branches covered.">        if 
(!recordList.isEmpty()) {</span>
-<span class="fc" id="L791">            recordNumber++;</span>
-<span class="fc bfc" id="L792" title="All 2 branches covered.">            
final String comment = sb == null ? null : sb.toString();</span>
-<span class="fc" id="L793">            result = new CSVRecord(this, 
recordList.toArray(Constants.EMPTY_STRING_ARRAY), comment,</span>
+<span class="fc bfc" id="L804" title="All 2 branches covered.">        if 
(!recordList.isEmpty()) {</span>
+<span class="fc" id="L805">            recordNumber++;</span>
+<span class="fc" id="L806">            final String comment = 
Objects.toString(sb, null);</span>
+<span class="fc" id="L807">            result = new CSVRecord(this, 
recordList.toArray(Constants.EMPTY_STRING_ARRAY), comment,</span>
                 recordNumber, startCharPosition);
         }
-<span class="fc" id="L796">        return result;</span>
+<span class="fc" id="L810">        return result;</span>
     }
 
     /**
@@ -806,8 +820,8 @@ public final class CSVParser implements
      * @since 1.9.0
      */
     public Stream&lt;CSVRecord&gt; stream() {
-<span class="fc" id="L809">        return 
StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator(), 
Spliterator.ORDERED), false);</span>
+<span class="fc" id="L823">        return 
StreamSupport.stream(Spliterators.spliteratorUnknownSize(iterator(), 
Spliterator.ORDERED), false);</span>
     }
 
 }
-</pre><div class="footer"><span class="right">Created with <a 
href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.11.202310140853</span></div></body></html>
\ No newline at end of file
+</pre><div class="footer"><span class="right">Created with <a 
href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.12.202403310830</span></div></body></html>
\ No newline at end of file

Modified: 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.html
 (original)
+++ 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.html
 Wed Sep 25 02:11:29 2024
@@ -1 +1 @@
-<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml"; lang="en"><head><meta 
http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link 
rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link 
rel="shortcut icon" href="../jacoco-resources/report.gif" 
type="image/gif"/><title>CSVPrinter</title><script type="text/javascript" 
src="../jacoco-resources/sort.js"></script></head><body 
onload="initialSort(['breadcrumb'])"><div class="breadcrumb" 
id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" 
class="el_session">Sessions</a></span><a href="../index.html" 
class="el_report">Apache Commons CSV</a> &gt; <a href="index.html" 
class="el_package">org.apache.commons.csv</a> &gt; <span 
class="el_class">CSVPrinter</span></div><h1>CSVPrinter</h1><table 
class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td cla
 ss="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down 
sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td 
class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td 
class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td 
class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td 
class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td 
class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td 
class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="k" 
onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td
 class="bar">0 of 317</td><td class="ctr2">100%</td><td class="bar">0 of 
45</td><td class="ctr2">100%</td><td class="ctr1">0</td><td 
class="ctr2">41</td><td class="ctr
 1">0</td><td class="ctr2">87</td><td class="ctr1">0</td><td 
class="ctr2">18</td></tr></tfoot><tbody><tr><td id="a6"><a 
href="CSVPrinter.java.html#L200" 
class="el_method">printComment(String)</a></td><td class="bar" id="b0"><img 
src="../jacoco-resources/greenbar.gif" width="120" height="10" title="77" 
alt="77"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img 
src="../jacoco-resources/greenbar.gif" width="120" height="10" title="15" 
alt="15"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" 
id="f0">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">0</td><td 
class="ctr2" id="i0">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" 
id="k0">1</td></tr><tr><td id="a2"><a href="CSVPrinter.java.html#L84" 
class="el_method">CSVPrinter(Appendable, CSVFormat)</a></td><td class="bar" 
id="b1"><img src="../jacoco-resources/greenbar.gif" width="87" height="10" 
title="56" alt="56"/></td><td class="ctr2" id="c1">100%</td><td class="bar" 
id="d1"><img src="../jac
 oco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td 
class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" 
id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" 
id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" 
id="k1">1</td></tr><tr><td id="a15"><a href="CSVPrinter.java.html#L416" 
class="el_method">printRecords(ResultSet)</a></td><td class="bar" id="b2"><img 
src="../jacoco-resources/greenbar.gif" width="73" height="10" title="47" 
alt="47"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img 
src="../jacoco-resources/greenbar.gif" width="64" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" 
id="f2">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h2">0</td><td 
class="ctr2" id="i2">13</td><td class="ctr1" id="j2">0</td><td class="ctr2" 
id="k2">1</td></tr><tr><td id="a12"><a href="CSVPrinter.java.html#L309" 
class="el_method">printRecordObject(Object)</a><
 /td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" 
width="38" height="10" title="25" alt="25"/></td><td class="ctr2" 
id="c3">100%</td><td class="bar" id="d4"><img 
src="../jacoco-resources/greenbar.gif" width="32" height="10" title="4" 
alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" 
id="f3">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h3">0</td><td 
class="ctr2" id="i3">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" 
id="k3">1</td></tr><tr><td id="a1"><a href="CSVPrinter.java.html#L135" 
class="el_method">close(boolean)</a></td><td class="bar" id="b4"><img 
src="../jacoco-resources/greenbar.gif" width="26" height="10" title="17" 
alt="17"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img 
src="../jacoco-resources/greenbar.gif" width="48" height="10" title="6" 
alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" 
id="f4">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h4">0</td><td 
class="ctr2"
  id="i4">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" 
id="k4">1</td></tr><tr><td id="a5"><a href="CSVPrinter.java.html#L174" 
class="el_method">print(Object)</a></td><td class="bar" id="b5"><img 
src="../jacoco-resources/greenbar.gif" width="18" height="10" title="12" 
alt="12"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"/><td 
class="ctr2" id="e7">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" 
id="g7">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">3</td><td 
class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td 
id="a7"><a href="CSVPrinter.java.html#L238" 
class="el_method">printHeaders(ResultSet)</a></td><td class="bar" id="b6"><img 
src="../jacoco-resources/greenbar.gif" width="17" height="10" title="11" 
alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d8"/><td 
class="ctr2" id="e8">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" 
id="g8">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id
 ="i11">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" 
id="k6">1</td></tr><tr><td id="a3"><a href="CSVPrinter.java.html#L151" 
class="el_method">flush()</a></td><td class="bar" id="b7"><img 
src="../jacoco-resources/greenbar.gif" width="14" height="10" title="9" 
alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img 
src="../jacoco-resources/greenbar.gif" width="16" height="10" title="2" 
alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" 
id="f7">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h7">0</td><td 
class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" 
id="k7">1</td></tr><tr><td id="a8"><a href="CSVPrinter.java.html#L248" 
class="el_method">println()</a></td><td class="bar" id="b8"><img 
src="../jacoco-resources/greenbar.gif" width="14" height="10" title="9" 
alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td 
class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2"
  id="g9">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" 
id="i8">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" 
id="k8">1</td></tr><tr><td id="a16"><a href="CSVPrinter.java.html#L446" 
class="el_method">printRecords(ResultSet, boolean)</a></td><td class="bar" 
id="b9"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" 
title="9" alt="9"/></td><td class="ctr2" id="c9">100%</td><td class="bar" 
id="d6"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" 
title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" 
id="f9">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h9">0</td><td 
class="ctr2" id="i5">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" 
id="k9">1</td></tr><tr><td id="a9"><a href="CSVPrinter.java.html#L267" 
class="el_method">printRecord(Iterable)</a></td><td class="bar" id="b10"><img 
src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="c10">100%</td><
 td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" 
id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" 
id="h10">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" 
id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a11"><a 
href="CSVPrinter.java.html#L304" 
class="el_method">printRecord(Stream)</a></td><td class="bar" id="b11"><img 
src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td 
class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" 
id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" 
id="i10">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" 
id="k11">1</td></tr><tr><td id="a13"><a href="CSVPrinter.java.html#L359" 
class="el_method">printRecords(Iterable)</a></td><td class="bar" id="b12"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" 
alt="6"/></td><td class="ctr2" i
 d="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" 
id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" 
id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" 
id="i12">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" 
id="k12">1</td></tr><tr><td id="a17"><a href="CSVPrinter.java.html#L495" 
class="el_method">printRecords(Stream)</a></td><td class="bar" id="b13"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" 
alt="6"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td 
class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" 
id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" 
id="i13">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" 
id="k13">1</td></tr><tr><td id="a10"><a href="CSVPrinter.java.html#L285" 
class="el_method">printRecord(Object[])</a></td><td class="bar" id="b14"><img 
src="../jacoco-resources/greenbar.gif" width="7" height="10" title="5" 
alt="5"/></td>
 <td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" 
id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" 
id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" 
id="i14">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" 
id="k14">1</td></tr><tr><td id="a14"><a href="CSVPrinter.java.html#L402" 
class="el_method">printRecords(Object[])</a></td><td class="bar" id="b15"><img 
src="../jacoco-resources/greenbar.gif" width="7" height="10" title="5" 
alt="5"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td 
class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" 
id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" 
id="i15">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" 
id="k15">1</td></tr><tr><td id="a0"><a href="CSVPrinter.java.html#L123" 
class="el_method">close()</a></td><td class="bar" id="b16"><img 
src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/>
 </td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td 
class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" 
id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" 
id="i16">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" 
id="k16">1</td></tr><tr><td id="a4"><a href="CSVPrinter.java.html#L162" 
class="el_method">getOut()</a></td><td class="bar" id="b17"><img 
src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" 
alt="3"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td 
class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" 
id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" 
id="i17">1</td><td class="ctr1" id="j17">0</td><td class="ctr2" 
id="k17">1</td></tr></tbody></table><div class="footer"><span 
class="right">Created with <a href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.11.202310140853</span></div></body></html>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 
1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml"; lang="en"><head><meta 
http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link 
rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link 
rel="shortcut icon" href="../jacoco-resources/report.gif" 
type="image/gif"/><title>CSVPrinter</title><script type="text/javascript" 
src="../jacoco-resources/sort.js"></script></head><body 
onload="initialSort(['breadcrumb'])"><div class="breadcrumb" 
id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" 
class="el_session">Sessions</a></span><a href="../index.html" 
class="el_report">Apache Commons CSV</a> &gt; <a href="index.html" 
class="el_package">org.apache.commons.csv</a> &gt; <span 
class="el_class">CSVPrinter</span></div><h1>CSVPrinter</h1><table 
class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td cla
 ss="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down 
sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td 
class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td 
class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td 
class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td 
class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td 
class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td 
class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td 
class="sortable ctr2" id="k" 
onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td
 class="bar">0 of 317</td><td class="ctr2">100%</td><td class="bar">0 of 
45</td><td class="ctr2">100%</td><td class="ctr1">0</td><td 
class="ctr2">41</td><td class="ctr
 1">0</td><td class="ctr2">87</td><td class="ctr1">0</td><td 
class="ctr2">18</td></tr></tfoot><tbody><tr><td id="a6"><a 
href="CSVPrinter.java.html#L200" 
class="el_method">printComment(String)</a></td><td class="bar" id="b0"><img 
src="../jacoco-resources/greenbar.gif" width="120" height="10" title="77" 
alt="77"/></td><td class="ctr2" id="c0">100%</td><td class="bar" id="d0"><img 
src="../jacoco-resources/greenbar.gif" width="120" height="10" title="15" 
alt="15"/></td><td class="ctr2" id="e0">100%</td><td class="ctr1" 
id="f0">0</td><td class="ctr2" id="g0">9</td><td class="ctr1" id="h0">0</td><td 
class="ctr2" id="i0">18</td><td class="ctr1" id="j0">0</td><td class="ctr2" 
id="k0">1</td></tr><tr><td id="a2"><a href="CSVPrinter.java.html#L84" 
class="el_method">CSVPrinter(Appendable, CSVFormat)</a></td><td class="bar" 
id="b1"><img src="../jacoco-resources/greenbar.gif" width="87" height="10" 
title="56" alt="56"/></td><td class="ctr2" id="c1">100%</td><td class="bar" 
id="d1"><img src="../jac
 oco-resources/greenbar.gif" width="64" height="10" title="8" alt="8"/></td><td 
class="ctr2" id="e1">100%</td><td class="ctr1" id="f1">0</td><td class="ctr2" 
id="g1">5</td><td class="ctr1" id="h1">0</td><td class="ctr2" 
id="i1">13</td><td class="ctr1" id="j1">0</td><td class="ctr2" 
id="k1">1</td></tr><tr><td id="a15"><a href="CSVPrinter.java.html#L413" 
class="el_method">printRecords(ResultSet)</a></td><td class="bar" id="b2"><img 
src="../jacoco-resources/greenbar.gif" width="73" height="10" title="47" 
alt="47"/></td><td class="ctr2" id="c2">100%</td><td class="bar" id="d2"><img 
src="../jacoco-resources/greenbar.gif" width="64" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="e2">100%</td><td class="ctr1" 
id="f2">0</td><td class="ctr2" id="g2">5</td><td class="ctr1" id="h2">0</td><td 
class="ctr2" id="i2">13</td><td class="ctr1" id="j2">0</td><td class="ctr2" 
id="k2">1</td></tr><tr><td id="a12"><a href="CSVPrinter.java.html#L309" 
class="el_method">printRecordObject(Object)</a><
 /td><td class="bar" id="b3"><img src="../jacoco-resources/greenbar.gif" 
width="38" height="10" title="25" alt="25"/></td><td class="ctr2" 
id="c3">100%</td><td class="bar" id="d4"><img 
src="../jacoco-resources/greenbar.gif" width="32" height="10" title="4" 
alt="4"/></td><td class="ctr2" id="e3">100%</td><td class="ctr1" 
id="f3">0</td><td class="ctr2" id="g4">3</td><td class="ctr1" id="h3">0</td><td 
class="ctr2" id="i3">6</td><td class="ctr1" id="j3">0</td><td class="ctr2" 
id="k3">1</td></tr><tr><td id="a1"><a href="CSVPrinter.java.html#L135" 
class="el_method">close(boolean)</a></td><td class="bar" id="b4"><img 
src="../jacoco-resources/greenbar.gif" width="26" height="10" title="17" 
alt="17"/></td><td class="ctr2" id="c4">100%</td><td class="bar" id="d3"><img 
src="../jacoco-resources/greenbar.gif" width="48" height="10" title="6" 
alt="6"/></td><td class="ctr2" id="e4">100%</td><td class="ctr1" 
id="f4">0</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h4">0</td><td 
class="ctr2"
  id="i4">5</td><td class="ctr1" id="j4">0</td><td class="ctr2" 
id="k4">1</td></tr><tr><td id="a5"><a href="CSVPrinter.java.html#L174" 
class="el_method">print(Object)</a></td><td class="bar" id="b5"><img 
src="../jacoco-resources/greenbar.gif" width="18" height="10" title="12" 
alt="12"/></td><td class="ctr2" id="c5">100%</td><td class="bar" id="d7"/><td 
class="ctr2" id="e7">n/a</td><td class="ctr1" id="f5">0</td><td class="ctr2" 
id="g7">1</td><td class="ctr1" id="h5">0</td><td class="ctr2" id="i6">3</td><td 
class="ctr1" id="j5">0</td><td class="ctr2" id="k5">1</td></tr><tr><td 
id="a7"><a href="CSVPrinter.java.html#L238" 
class="el_method">printHeaders(ResultSet)</a></td><td class="bar" id="b6"><img 
src="../jacoco-resources/greenbar.gif" width="17" height="10" title="11" 
alt="11"/></td><td class="ctr2" id="c6">100%</td><td class="bar" id="d8"/><td 
class="ctr2" id="e8">n/a</td><td class="ctr1" id="f6">0</td><td class="ctr2" 
id="g8">1</td><td class="ctr1" id="h6">0</td><td class="ctr2" id
 ="i11">2</td><td class="ctr1" id="j6">0</td><td class="ctr2" 
id="k6">1</td></tr><tr><td id="a3"><a href="CSVPrinter.java.html#L151" 
class="el_method">flush()</a></td><td class="bar" id="b7"><img 
src="../jacoco-resources/greenbar.gif" width="14" height="10" title="9" 
alt="9"/></td><td class="ctr2" id="c7">100%</td><td class="bar" id="d5"><img 
src="../jacoco-resources/greenbar.gif" width="16" height="10" title="2" 
alt="2"/></td><td class="ctr2" id="e5">100%</td><td class="ctr1" 
id="f7">0</td><td class="ctr2" id="g5">2</td><td class="ctr1" id="h7">0</td><td 
class="ctr2" id="i7">3</td><td class="ctr1" id="j7">0</td><td class="ctr2" 
id="k7">1</td></tr><tr><td id="a8"><a href="CSVPrinter.java.html#L248" 
class="el_method">println()</a></td><td class="bar" id="b8"><img 
src="../jacoco-resources/greenbar.gif" width="14" height="10" title="9" 
alt="9"/></td><td class="ctr2" id="c8">100%</td><td class="bar" id="d9"/><td 
class="ctr2" id="e9">n/a</td><td class="ctr1" id="f8">0</td><td class="ctr2"
  id="g9">1</td><td class="ctr1" id="h8">0</td><td class="ctr2" 
id="i8">3</td><td class="ctr1" id="j8">0</td><td class="ctr2" 
id="k8">1</td></tr><tr><td id="a16"><a href="CSVPrinter.java.html#L443" 
class="el_method">printRecords(ResultSet, boolean)</a></td><td class="bar" 
id="b9"><img src="../jacoco-resources/greenbar.gif" width="14" height="10" 
title="9" alt="9"/></td><td class="ctr2" id="c9">100%</td><td class="bar" 
id="d6"><img src="../jacoco-resources/greenbar.gif" width="16" height="10" 
title="2" alt="2"/></td><td class="ctr2" id="e6">100%</td><td class="ctr1" 
id="f9">0</td><td class="ctr2" id="g6">2</td><td class="ctr1" id="h9">0</td><td 
class="ctr2" id="i5">4</td><td class="ctr1" id="j9">0</td><td class="ctr2" 
id="k9">1</td></tr><tr><td id="a9"><a href="CSVPrinter.java.html#L267" 
class="el_method">printRecord(Iterable)</a></td><td class="bar" id="b10"><img 
src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="c10">100%</td><
 td class="bar" id="d10"/><td class="ctr2" id="e10">n/a</td><td class="ctr1" 
id="f10">0</td><td class="ctr2" id="g10">1</td><td class="ctr1" 
id="h10">0</td><td class="ctr2" id="i9">3</td><td class="ctr1" 
id="j10">0</td><td class="ctr2" id="k10">1</td></tr><tr><td id="a11"><a 
href="CSVPrinter.java.html#L304" 
class="el_method">printRecord(Stream)</a></td><td class="bar" id="b11"><img 
src="../jacoco-resources/greenbar.gif" width="12" height="10" title="8" 
alt="8"/></td><td class="ctr2" id="c11">100%</td><td class="bar" id="d11"/><td 
class="ctr2" id="e11">n/a</td><td class="ctr1" id="f11">0</td><td class="ctr2" 
id="g11">1</td><td class="ctr1" id="h11">0</td><td class="ctr2" 
id="i10">3</td><td class="ctr1" id="j11">0</td><td class="ctr2" 
id="k11">1</td></tr><tr><td id="a13"><a href="CSVPrinter.java.html#L358" 
class="el_method">printRecords(Iterable)</a></td><td class="bar" id="b12"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" 
alt="6"/></td><td class="ctr2" i
 d="c12">100%</td><td class="bar" id="d12"/><td class="ctr2" 
id="e12">n/a</td><td class="ctr1" id="f12">0</td><td class="ctr2" 
id="g12">1</td><td class="ctr1" id="h12">0</td><td class="ctr2" 
id="i12">2</td><td class="ctr1" id="j12">0</td><td class="ctr2" 
id="k12">1</td></tr><tr><td id="a17"><a href="CSVPrinter.java.html#L491" 
class="el_method">printRecords(Stream)</a></td><td class="bar" id="b13"><img 
src="../jacoco-resources/greenbar.gif" width="9" height="10" title="6" 
alt="6"/></td><td class="ctr2" id="c13">100%</td><td class="bar" id="d13"/><td 
class="ctr2" id="e13">n/a</td><td class="ctr1" id="f13">0</td><td class="ctr2" 
id="g13">1</td><td class="ctr1" id="h13">0</td><td class="ctr2" 
id="i13">2</td><td class="ctr1" id="j13">0</td><td class="ctr2" 
id="k13">1</td></tr><tr><td id="a10"><a href="CSVPrinter.java.html#L285" 
class="el_method">printRecord(Object[])</a></td><td class="bar" id="b14"><img 
src="../jacoco-resources/greenbar.gif" width="7" height="10" title="5" 
alt="5"/></td>
 <td class="ctr2" id="c14">100%</td><td class="bar" id="d14"/><td class="ctr2" 
id="e14">n/a</td><td class="ctr1" id="f14">0</td><td class="ctr2" 
id="g14">1</td><td class="ctr1" id="h14">0</td><td class="ctr2" 
id="i14">2</td><td class="ctr1" id="j14">0</td><td class="ctr2" 
id="k14">1</td></tr><tr><td id="a14"><a href="CSVPrinter.java.html#L399" 
class="el_method">printRecords(Object[])</a></td><td class="bar" id="b15"><img 
src="../jacoco-resources/greenbar.gif" width="7" height="10" title="5" 
alt="5"/></td><td class="ctr2" id="c15">100%</td><td class="bar" id="d15"/><td 
class="ctr2" id="e15">n/a</td><td class="ctr1" id="f15">0</td><td class="ctr2" 
id="g15">1</td><td class="ctr1" id="h15">0</td><td class="ctr2" 
id="i15">2</td><td class="ctr1" id="j15">0</td><td class="ctr2" 
id="k15">1</td></tr><tr><td id="a0"><a href="CSVPrinter.java.html#L123" 
class="el_method">close()</a></td><td class="bar" id="b16"><img 
src="../jacoco-resources/greenbar.gif" width="6" height="10" title="4" alt="4"/>
 </td><td class="ctr2" id="c16">100%</td><td class="bar" id="d16"/><td 
class="ctr2" id="e16">n/a</td><td class="ctr1" id="f16">0</td><td class="ctr2" 
id="g16">1</td><td class="ctr1" id="h16">0</td><td class="ctr2" 
id="i16">2</td><td class="ctr1" id="j16">0</td><td class="ctr2" 
id="k16">1</td></tr><tr><td id="a4"><a href="CSVPrinter.java.html#L162" 
class="el_method">getOut()</a></td><td class="bar" id="b17"><img 
src="../jacoco-resources/greenbar.gif" width="4" height="10" title="3" 
alt="3"/></td><td class="ctr2" id="c17">100%</td><td class="bar" id="d17"/><td 
class="ctr2" id="e17">n/a</td><td class="ctr1" id="f17">0</td><td class="ctr2" 
id="g17">1</td><td class="ctr1" id="h17">0</td><td class="ctr2" 
id="i17">1</td><td class="ctr1" id="j17">0</td><td class="ctr2" 
id="k17">1</td></tr></tbody></table><div class="footer"><span 
class="right">Created with <a href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.12.202403310830</span></div></body></html>
\ No newline at end of file

Modified: 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.java.html
==============================================================================
--- 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.java.html
 (original)
+++ 
websites/production/commons/content/proper/commons-csv/jacoco/org.apache.commons.csv/CSVPrinter.java.html
 Wed Sep 25 02:11:29 2024
@@ -110,7 +110,7 @@ public final class CSVPrinter implements
 <span class="fc" id="L110">        final String[] headerComments = 
format.getHeaderComments();</span>
 <span class="fc bfc" id="L111" title="All 2 branches covered.">        if 
(headerComments != null) {</span>
 <span class="fc bfc" id="L112" title="All 2 branches covered.">            for 
(final String line : headerComments) {</span>
-<span class="fc" id="L113">                this.printComment(line);</span>
+<span class="fc" id="L113">                printComment(line);</span>
             }
         }
 <span class="fc bfc" id="L116" title="All 4 branches covered.">        if 
(format.getHeader() != null &amp;&amp; !format.getSkipHeaderRecord()) {</span>
@@ -203,7 +203,7 @@ public final class CSVPrinter implements
 <span class="fc bfc" id="L203" title="All 2 branches covered.">        if 
(!newRecord) {</span>
 <span class="fc" id="L204">            println();</span>
         }
-<span class="fc" id="L206">        
appendable.append(format.getCommentMarker().charValue());</span>
+<span class="fc" id="L206">        
appendable.append(format.getCommentMarker().charValue()); // N.B. Explicit 
(un)boxing is intentional</span>
 <span class="fc" id="L207">        appendable.append(SP);</span>
 <span class="fc bfc" id="L208" title="All 2 branches covered.">        for 
(int i = 0; i &lt; comment.length(); i++) {</span>
 <span class="fc" id="L209">            final char c = comment.charAt(i);</span>
@@ -215,7 +215,7 @@ public final class CSVPrinter implements
                 //$FALL-THROUGH$ break intentionally excluded.
             case LF:
 <span class="fc" id="L217">                println();</span>
-<span class="fc" id="L218">                
appendable.append(format.getCommentMarker().charValue());</span>
+<span class="fc" id="L218">                
appendable.append(format.getCommentMarker().charValue()); // N.B. Explicit 
(un)boxing is intentional</span>
 <span class="fc" id="L219">                appendable.append(SP);</span>
 <span class="fc" id="L220">                break;</span>
             default:
@@ -328,13 +328,12 @@ public final class CSVPrinter implements
      * Given the following data structure:
      * &lt;/p&gt;
      *
-     * &lt;pre&gt;
-     * &lt;code&gt;
-     * List&amp;lt;String[]&amp;gt; data = new ArrayList&amp;lt;&amp;gt;();
+     * &lt;pre&gt;{@code
+     * List&lt;String[]&gt; data = new ArrayList&lt;&gt;();
      * data.add(new String[]{ &quot;A&quot;, &quot;B&quot;, &quot;C&quot; });
      * data.add(new String[]{ &quot;1&quot;, &quot;2&quot;, &quot;3&quot; });
      * data.add(new String[]{ &quot;A1&quot;, &quot;B2&quot;, &quot;C3&quot; 
});
-     * &lt;/code&gt;
+     * }
      * &lt;/pre&gt;
      *
      * &lt;p&gt;
@@ -342,11 +341,11 @@ public final class CSVPrinter implements
      * &lt;/p&gt;
      *
      * &lt;pre&gt;
-     * &lt;code&gt;
+     * {@code
      * A, B, C
      * 1, 2, 3
      * A1, B2, C3
-     * &lt;/code&gt;
+     * }
      * &lt;/pre&gt;
      *
      * @param values
@@ -356,8 +355,8 @@ public final class CSVPrinter implements
      */
     @SuppressWarnings(&quot;resource&quot;)
     public void printRecords(final Iterable&lt;?&gt; values) throws 
IOException {
-<span class="fc" id="L359">        
IOStream.of(values).forEachOrdered(this::printRecordObject);</span>
-<span class="fc" id="L360">    }</span>
+<span class="fc" id="L358">        
IOStream.of(values).forEachOrdered(this::printRecordObject);</span>
+<span class="fc" id="L359">    }</span>
 
     /**
      * Prints all the objects in the given array handling nested 
collections/arrays as records.
@@ -372,25 +371,23 @@ public final class CSVPrinter implements
      * Given the following data structure:
      * &lt;/p&gt;
      *
-     * &lt;pre&gt;
-     * &lt;code&gt;
+     * &lt;pre&gt;{@code
      * String[][] data = new String[3][]
      * data[0] = String[]{ &quot;A&quot;, &quot;B&quot;, &quot;C&quot; };
      * data[1] = new String[]{ &quot;1&quot;, &quot;2&quot;, &quot;3&quot; };
      * data[2] = new String[]{ &quot;A1&quot;, &quot;B2&quot;, &quot;C3&quot; 
};
-     * &lt;/code&gt;
+     * }
      * &lt;/pre&gt;
      *
      * &lt;p&gt;
      * Calling this method will print:
      * &lt;/p&gt;
      *
-     * &lt;pre&gt;
-     * &lt;code&gt;
+     * &lt;pre&gt;{@code
      * A, B, C
      * 1, 2, 3
      * A1, B2, C3
-     * &lt;/code&gt;
+     * }
      * &lt;/pre&gt;
      *
      * @param values
@@ -399,8 +396,8 @@ public final class CSVPrinter implements
      *             If an I/O error occurs
      */
     public void printRecords(final Object... values) throws IOException {
-<span class="fc" id="L402">        printRecords(Arrays.asList(values));</span>
-<span class="fc" id="L403">    }</span>
+<span class="fc" id="L399">        printRecords(Arrays.asList(values));</span>
+<span class="fc" id="L400">    }</span>
 
     /**
      * Prints all the objects in the given JDBC result set.
@@ -413,25 +410,25 @@ public final class CSVPrinter implements
      *             Thrown when a database access error occurs.
      */
     public void printRecords(final ResultSet resultSet) throws SQLException, 
IOException {
-<span class="fc" id="L416">        final int columnCount = 
resultSet.getMetaData().getColumnCount();</span>
-<span class="fc bfc" id="L417" title="All 2 branches covered.">        while 
(resultSet.next()) {</span>
-<span class="fc bfc" id="L418" title="All 2 branches covered.">            for 
(int i = 1; i &lt;= columnCount; i++) {</span>
-<span class="fc" id="L419">                final Object object = 
resultSet.getObject(i);</span>
-<span class="fc bfc" id="L420" title="All 2 branches covered.">                
if (object instanceof Clob) {</span>
-<span class="fc" id="L421">                    try (Reader reader = ((Clob) 
object).getCharacterStream()) {</span>
-<span class="fc" id="L422">                        print(reader);</span>
+<span class="fc" id="L413">        final int columnCount = 
resultSet.getMetaData().getColumnCount();</span>
+<span class="fc bfc" id="L414" title="All 2 branches covered.">        while 
(resultSet.next()) {</span>
+<span class="fc bfc" id="L415" title="All 2 branches covered.">            for 
(int i = 1; i &lt;= columnCount; i++) {</span>
+<span class="fc" id="L416">                final Object object = 
resultSet.getObject(i);</span>
+<span class="fc bfc" id="L417" title="All 2 branches covered.">                
if (object instanceof Clob) {</span>
+<span class="fc" id="L418">                    try (Reader reader = ((Clob) 
object).getCharacterStream()) {</span>
+<span class="fc" id="L419">                        print(reader);</span>
                     }
-<span class="fc bfc" id="L424" title="All 2 branches covered.">                
} else if (object instanceof Blob) {</span>
-<span class="fc" id="L425">                    try (InputStream inputStream = 
((Blob) object).getBinaryStream()) {</span>
-<span class="fc" id="L426">                        print(inputStream);</span>
+<span class="fc bfc" id="L421" title="All 2 branches covered.">                
} else if (object instanceof Blob) {</span>
+<span class="fc" id="L422">                    try (InputStream inputStream = 
((Blob) object).getBinaryStream()) {</span>
+<span class="fc" id="L423">                        print(inputStream);</span>
                     }
                 } else {
-<span class="fc" id="L429">                    print(object);</span>
+<span class="fc" id="L426">                    print(object);</span>
                 }
             }
-<span class="fc" id="L432">            println();</span>
+<span class="fc" id="L429">            println();</span>
         }
-<span class="fc" id="L434">    }</span>
+<span class="fc" id="L431">    }</span>
 
     /**
      * Prints all the objects with metadata in the given JDBC result set based 
on the header boolean.
@@ -443,11 +440,11 @@ public final class CSVPrinter implements
      * @since 1.9.0
      */
     public void printRecords(final ResultSet resultSet, final boolean 
printHeader) throws SQLException, IOException {
-<span class="fc bfc" id="L446" title="All 2 branches covered.">        if 
(printHeader) {</span>
-<span class="fc" id="L447">            printHeaders(resultSet);</span>
+<span class="fc bfc" id="L443" title="All 2 branches covered.">        if 
(printHeader) {</span>
+<span class="fc" id="L444">            printHeaders(resultSet);</span>
         }
-<span class="fc" id="L449">        printRecords(resultSet);</span>
-<span class="fc" id="L450">    }</span>
+<span class="fc" id="L446">        printRecords(resultSet);</span>
+<span class="fc" id="L447">    }</span>
 
     /**
      * Prints all the objects in the given {@link Stream} handling nested 
collections/arrays as records.
@@ -462,14 +459,13 @@ public final class CSVPrinter implements
      * Given the following data structure:
      * &lt;/p&gt;
      *
-     * &lt;pre&gt;
-     * &lt;code&gt;
-     * List&amp;lt;String[]&amp;gt; data = new ArrayList&amp;lt;&amp;gt;();
+     * &lt;pre&gt;{@code
+     * List&lt;String[]&gt; data = new ArrayList&lt;&gt;();
      * data.add(new String[]{ &quot;A&quot;, &quot;B&quot;, &quot;C&quot; });
      * data.add(new String[]{ &quot;1&quot;, &quot;2&quot;, &quot;3&quot; });
      * data.add(new String[]{ &quot;A1&quot;, &quot;B2&quot;, &quot;C3&quot; 
});
-     * Stream&amp;lt;String[]&amp;gt; stream = data.stream();
-     * &lt;/code&gt;
+     * Stream&lt;String[]&gt; stream = data.stream();
+     * }
      * &lt;/pre&gt;
      *
      * &lt;p&gt;
@@ -477,11 +473,11 @@ public final class CSVPrinter implements
      * &lt;/p&gt;
      *
      * &lt;pre&gt;
-     * &lt;code&gt;
+     * {@code
      * A, B, C
      * 1, 2, 3
      * A1, B2, C3
-     * &lt;/code&gt;
+     * }
      * &lt;/pre&gt;
      *
      * @param values
@@ -492,7 +488,7 @@ public final class CSVPrinter implements
      */
     @SuppressWarnings({ &quot;resource&quot; }) // Caller closes.
     public void printRecords(final Stream&lt;?&gt; values) throws IOException {
-<span class="fc" id="L495">        
IOStream.adapt(values).forEachOrdered(this::printRecordObject);</span>
-<span class="fc" id="L496">    }</span>
+<span class="fc" id="L491">        
IOStream.adapt(values).forEachOrdered(this::printRecordObject);</span>
+<span class="fc" id="L492">    }</span>
 }
-</pre><div class="footer"><span class="right">Created with <a 
href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.11.202310140853</span></div></body></html>
\ No newline at end of file
+</pre><div class="footer"><span class="right">Created with <a 
href="http://www.jacoco.org/jacoco";>JaCoCo</a> 
0.8.12.202403310830</span></div></body></html>
\ No newline at end of file


Reply via email to