You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2013/10/26 16:22:17 UTC
svn commit: r884228 [35/50] - in
/websites/production/commons/content/proper/commons-compress: ./ cobertura/
Modified: websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.html
==============================================================================
--- websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.html (original)
+++ websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream.html Sat Oct 26 14:22:15 2013
@@ -176,7 +176,7 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 78</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/** indicates if this archive is finished. protected for use in Jar implementation */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 79</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">boolean</span> finished = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 79</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">boolean</span> finished = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 80</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 81</td> <td class="nbHits"> </td>
@@ -253,7 +253,7 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">int</span> EFS_FLAG = GeneralPurposeBit.UFT8_NAMES_FLAG;</pre></td></tr>
<tr> <td class="numLine"> 117</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 118</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] EMPTY = <span class="keyword">new</span> <span class="keyword">byte</span>[0];</pre></td></tr>
+<tr> <td class="numLineCover"> 118</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] EMPTY = <span class="keyword">new</span> <span class="keyword">byte</span>[0];</pre></td></tr>
<tr> <td class="numLine"> 119</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 120</td> <td class="nbHits"> </td>
@@ -272,7 +272,7 @@
<td class="src"><pre class="src"> <span class="comment"> * The file comment.</span></pre></td></tr>
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 128</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> String comment = <span class="string">""</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 128</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> String comment = <span class="string">""</span>;</pre></td></tr>
<tr> <td class="numLine"> 129</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 130</td> <td class="nbHits"> </td>
@@ -281,7 +281,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Compression level for next entry.</span></pre></td></tr>
<tr> <td class="numLine"> 132</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> level = DEFAULT_COMPRESSION;</pre></td></tr>
+<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> level = DEFAULT_COMPRESSION;</pre></td></tr>
<tr> <td class="numLine"> 134</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 135</td> <td class="nbHits"> </td>
@@ -292,7 +292,7 @@
<td class="src"><pre class="src"> <span class="comment"> * entry?</span></pre></td></tr>
<tr> <td class="numLine"> 138</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> hasCompressionLevelChanged = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> hasCompressionLevelChanged = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 140</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 141</td> <td class="nbHits"> </td>
@@ -301,7 +301,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Default compression method for next entry.</span></pre></td></tr>
<tr> <td class="numLine"> 143</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> method = java.util.zip.ZipEntry.DEFLATED;</pre></td></tr>
+<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> method = java.util.zip.ZipEntry.DEFLATED;</pre></td></tr>
<tr> <td class="numLine"> 145</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 146</td> <td class="nbHits"> </td>
@@ -310,7 +310,7 @@
<td class="src"><pre class="src"> <span class="comment"> * List of ZipArchiveEntries written so far.</span></pre></td></tr>
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<ZipArchiveEntry> entries =</pre></td></tr>
+<tr> <td class="numLineCover"> 149</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<ZipArchiveEntry> entries =</pre></td></tr>
<tr> <td class="numLine"> 150</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">new</span> LinkedList<ZipArchiveEntry>();</pre></td></tr>
<tr> <td class="numLine"> 151</td> <td class="nbHits"> </td>
@@ -321,7 +321,7 @@
<td class="src"><pre class="src"> <span class="comment"> * CRC instance to avoid parsing DEFLATED data twice.</span></pre></td></tr>
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> CRC32 crc = <span class="keyword">new</span> CRC32();</pre></td></tr>
+<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> CRC32 crc = <span class="keyword">new</span> CRC32();</pre></td></tr>
<tr> <td class="numLine"> 156</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
@@ -330,7 +330,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Count the bytes written to out.</span></pre></td></tr>
<tr> <td class="numLine"> 159</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> written = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 160</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> written = 0;</pre></td></tr>
<tr> <td class="numLine"> 161</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 162</td> <td class="nbHits"> </td>
@@ -339,7 +339,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Start of central directory.</span></pre></td></tr>
<tr> <td class="numLine"> 164</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cdOffset = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cdOffset = 0;</pre></td></tr>
<tr> <td class="numLine"> 166</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 167</td> <td class="nbHits"> </td>
@@ -348,7 +348,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Length of central directory.</span></pre></td></tr>
<tr> <td class="numLine"> 169</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cdLength = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 170</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> cdLength = 0;</pre></td></tr>
<tr> <td class="numLine"> 171</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 172</td> <td class="nbHits"> </td>
@@ -357,7 +357,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Helper, a 0 as ZipShort.</span></pre></td></tr>
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] ZERO = {0, 0};</pre></td></tr>
+<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] ZERO = {0, 0};</pre></td></tr>
<tr> <td class="numLine"> 176</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
@@ -366,7 +366,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Helper, a 0 as ZipLong.</span></pre></td></tr>
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] LZERO = {0, 0, 0, 0};</pre></td></tr>
+<tr> <td class="numLineCover"> 180</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">static</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] LZERO = {0, 0, 0, 0};</pre></td></tr>
<tr> <td class="numLine"> 181</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 182</td> <td class="nbHits"> </td>
@@ -375,7 +375,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Holds the offsets of the LFH starts for each entry.</span></pre></td></tr>
<tr> <td class="numLine"> 184</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<ZipArchiveEntry, Long> offsets =</pre></td></tr>
+<tr> <td class="numLineCover"> 185</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> Map<ZipArchiveEntry, Long> offsets =</pre></td></tr>
<tr> <td class="numLine"> 186</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">new</span> HashMap<ZipArchiveEntry, Long>();</pre></td></tr>
<tr> <td class="numLine"> 187</td> <td class="nbHits"> </td>
@@ -394,7 +394,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Defaults to UTF-8.</p></span></pre></td></tr>
<tr> <td class="numLine"> 194</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> String encoding = DEFAULT_ENCODING;</pre></td></tr>
+<tr> <td class="numLineCover"> 195</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> String encoding = DEFAULT_ENCODING;</pre></td></tr>
<tr> <td class="numLine"> 196</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 197</td> <td class="nbHits"> </td>
@@ -409,7 +409,7 @@
<td class="src"><pre class="src"> <span class="comment"> * #setEncoding(String)}.</span></pre></td></tr>
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> ZipEncoding zipEncoding =</pre></td></tr>
+<tr> <td class="numLineCover"> 203</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> ZipEncoding zipEncoding =</pre></td></tr>
<tr> <td class="numLine"> 204</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> ZipEncodingHelper.getZipEncoding(DEFAULT_ENCODING);</pre></td></tr>
<tr> <td class="numLine"> 205</td> <td class="nbHits"> </td>
@@ -422,7 +422,7 @@
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> Deflater def = <span class="keyword">new</span> Deflater(level, <span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 210</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">protected</span> <span class="keyword">final</span> Deflater def = <span class="keyword">new</span> Deflater(level, <span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine"> 211</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 212</td> <td class="nbHits"> </td>
@@ -433,7 +433,7 @@
<td class="src"><pre class="src"> <span class="comment"> *</span></pre></td></tr>
<tr> <td class="numLine"> 215</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] buf = <span class="keyword">new</span> <span class="keyword">byte</span>[BUFFER_SIZE];</pre></td></tr>
+<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> <span class="keyword">byte</span>[] buf = <span class="keyword">new</span> <span class="keyword">byte</span>[BUFFER_SIZE];</pre></td></tr>
<tr> <td class="numLine"> 217</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 218</td> <td class="nbHits"> </td>
@@ -458,7 +458,7 @@
<td class="src"><pre class="src"> <span class="comment"> * filenames or not.</span></pre></td></tr>
<tr> <td class="numLine"> 228</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> useUTF8Flag = <span class="keyword">true</span>; </pre></td></tr>
+<tr> <td class="numLineCover"> 229</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> useUTF8Flag = <span class="keyword">true</span>; </pre></td></tr>
<tr> <td class="numLine"> 230</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
@@ -467,7 +467,7 @@
<td class="src"><pre class="src"> <span class="comment"> * Whether to encode non-encodable file names as UTF-8.</span></pre></td></tr>
<tr> <td class="numLine"> 233</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> fallbackToUTF8 = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 234</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> fallbackToUTF8 = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 235</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
@@ -476,7 +476,7 @@
<td class="src"><pre class="src"> <span class="comment"> * whether to create UnicodePathExtraField-s for each entry.</span></pre></td></tr>
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> UnicodeExtraFieldPolicy createUnicodeExtraFields = UnicodeExtraFieldPolicy.NEVER;</pre></td></tr>
+<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> UnicodeExtraFieldPolicy createUnicodeExtraFields = UnicodeExtraFieldPolicy.NEVER;</pre></td></tr>
<tr> <td class="numLine"> 240</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
@@ -489,10 +489,10 @@
<td class="src"><pre class="src"> <span class="comment"> * @since 1.3</span></pre></td></tr>
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> hasUsedZip64 = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> hasUsedZip64 = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 247</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 56</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Zip64Mode zip64Mode = Zip64Mode.AsNeeded;</pre></td></tr>
+<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 112</td> <td class="src"><pre class="src"> <span class="keyword">private</span> Zip64Mode zip64Mode = Zip64Mode.AsNeeded;</pre></td></tr>
<tr> <td class="numLine"> 249</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 250</td> <td class="nbHits"> </td>
@@ -503,10 +503,10 @@
<td class="src"><pre class="src"> <span class="comment"> * @param out the outputstream to zip</span></pre></td></tr>
<tr> <td class="numLine"> 253</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 42</td> <td class="src"><pre class="src"> <span class="keyword">public</span> ZipArchiveOutputStream(OutputStream out) {</pre></td></tr>
-<tr> <td class="numLineCover"> 255</td> <td class="nbHitsCovered"> 42</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.out = out;</pre></td></tr>
-<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"> 42</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.raf = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 42</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 254</td> <td class="nbHitsCovered"> 84</td> <td class="src"><pre class="src"> <span class="keyword">public</span> ZipArchiveOutputStream(OutputStream out) {</pre></td></tr>
+<tr> <td class="numLineCover"> 255</td> <td class="nbHitsCovered"> 84</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.out = out;</pre></td></tr>
+<tr> <td class="numLineCover"> 256</td> <td class="nbHitsCovered"> 84</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.raf = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 257</td> <td class="nbHitsCovered"> 84</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 259</td> <td class="nbHits"> </td>
@@ -521,13 +521,13 @@
<td class="src"><pre class="src"> <span class="comment"> * @throws IOException on error</span></pre></td></tr>
<tr> <td class="numLine"> 264</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">public</span> ZipArchiveOutputStream(File file) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> OutputStream o = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> RandomAccessFile _raf = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 265</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">public</span> ZipArchiveOutputStream(File file) <span class="keyword">throws</span> IOException {</pre></td></tr>
+<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> OutputStream o = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 267</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> RandomAccessFile _raf = <span class="keyword">null</span>;</pre></td></tr>
<tr> <td class="numLine"> 268</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">try</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> _raf = <span class="keyword">new</span> RandomAccessFile(file, <span class="string">"rw"</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> _raf.setLength(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> _raf = <span class="keyword">new</span> RandomAccessFile(file, <span class="string">"rw"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> _raf.setLength(0);</pre></td></tr>
<tr> <td class="numLineCover"> 271</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> } <span class="keyword">catch</span> (IOException e) {</span></pre></td></tr>
<tr> <td class="numLineCover"> 272</td> <td class="nbHitsUncovered"><a title="Line 272: Conditional coverage 0% (0/2)."> 0</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 272: Conditional coverage 0% (0/2)."> <span class="keyword">if</span> (_raf != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
@@ -541,10 +541,10 @@
<tr> <td class="numLine"> 279</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLineCover"> 280</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> o = <span class="keyword">new</span> FileOutputStream(file);</span></pre></td></tr>
-<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> out = o;</pre></td></tr>
-<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> raf = _raf;</pre></td></tr>
-<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 281</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> out = o;</pre></td></tr>
+<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> raf = _raf;</pre></td></tr>
+<tr> <td class="numLineCover"> 284</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 285</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 286</td> <td class="nbHits"> </td>
@@ -592,13 +592,13 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> setEncoding(<span class="keyword">final</span> String encoding) {</pre></td></tr>
-<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encoding = encoding;</pre></td></tr>
-<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.zipEncoding = ZipEncodingHelper.getZipEncoding(encoding);</pre></td></tr>
-<tr> <td class="numLineCover"> 311</td> <td class="nbHitsUncovered"><a title="Line 311: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 311: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (useUTF8Flag && !ZipEncodingHelper.isUTF8(encoding)) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> useUTF8Flag = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 309</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.encoding = encoding;</pre></td></tr>
+<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.zipEncoding = ZipEncodingHelper.getZipEncoding(encoding);</pre></td></tr>
+<tr> <td class="numLineCover"> 311</td> <td class="nbHitsUncovered"><a title="Line 311: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 311: Conditional coverage 75% (3/4) [each condition: 50%, 100%]."> <span class="keyword">if</span> (useUTF8Flag && !ZipEncodingHelper.isUTF8(encoding)) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> useUTF8Flag = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 313</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 315</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 316</td> <td class="nbHits"> </td>
@@ -632,8 +632,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> setUseLanguageEncodingFlag(<span class="keyword">boolean</span> b) {</pre></td></tr>
-<tr> <td class="numLineCover"> 332</td> <td class="nbHitsUncovered"><a title="Line 332: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 10</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 332: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> useUTF8Flag = b && ZipEncodingHelper.isUTF8(encoding);</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 332</td> <td class="nbHitsUncovered"><a title="Line 332: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 20</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 332: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> useUTF8Flag = b && ZipEncodingHelper.isUTF8(encoding);</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 333</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 334</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 335</td> <td class="nbHits"> </td>
@@ -648,8 +648,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 340</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> setCreateUnicodeExtraFields(UnicodeExtraFieldPolicy b) {</pre></td></tr>
-<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> createUnicodeExtraFields = b;</pre></td></tr>
-<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> createUnicodeExtraFields = b;</pre></td></tr>
+<tr> <td class="numLineCover"> 342</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 343</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 344</td> <td class="nbHits"> </td>
@@ -780,30 +780,30 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 409</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> finish() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 410</td> <td class="nbHitsCovered"><a title="Line 410: Conditional coverage 100% (2/2)."> 63</a></td> <td class="src"><pre class="src"> <a title="Line 410: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (finished) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 411</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"This archive has already been finished"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 410</td> <td class="nbHitsCovered"><a title="Line 410: Conditional coverage 100% (2/2)."> 126</a></td> <td class="src"><pre class="src"> <a title="Line 410: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (finished) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 411</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"This archive has already been finished"</span>);</pre></td></tr>
<tr> <td class="numLine"> 412</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 413</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 414</td> <td class="nbHitsCovered"><a title="Line 414: Conditional coverage 100% (2/2)."> 60</a></td> <td class="src"><pre class="src"> <a title="Line 414: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"This archive contains unclosed entries."</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 414</td> <td class="nbHitsCovered"><a title="Line 414: Conditional coverage 100% (2/2)."> 120</a></td> <td class="src"><pre class="src"> <a title="Line 414: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 415</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"This archive contains unclosed entries."</span>);</pre></td></tr>
<tr> <td class="numLine"> 416</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 417</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 418</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> cdOffset = written;</pre></td></tr>
-<tr> <td class="numLineCover"> 419</td> <td class="nbHitsCovered"><a title="Line 419: Conditional coverage 100% (2/2)."> 54</a></td> <td class="src"><pre class="src"> <a title="Line 419: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ZipArchiveEntry ze : entries) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 420</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> writeCentralFileHeader(ze);</pre></td></tr>
-<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> cdLength = written - cdOffset;</pre></td></tr>
-<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> writeZip64CentralDirectory();</pre></td></tr>
-<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> writeCentralDirectoryEnd();</pre></td></tr>
-<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> offsets.clear();</pre></td></tr>
-<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> entries.clear();</pre></td></tr>
-<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> def.end();</pre></td></tr>
-<tr> <td class="numLineCover"> 428</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> finished = <span class="keyword">true</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 54</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 418</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> cdOffset = written;</pre></td></tr>
+<tr> <td class="numLineCover"> 419</td> <td class="nbHitsCovered"><a title="Line 419: Conditional coverage 100% (2/2)."> 108</a></td> <td class="src"><pre class="src"> <a title="Line 419: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (ZipArchiveEntry ze : entries) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 420</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> writeCentralFileHeader(ze);</pre></td></tr>
+<tr> <td class="numLineCover"> 421</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 422</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> cdLength = written - cdOffset;</pre></td></tr>
+<tr> <td class="numLineCover"> 423</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> writeZip64CentralDirectory();</pre></td></tr>
+<tr> <td class="numLineCover"> 424</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> writeCentralDirectoryEnd();</pre></td></tr>
+<tr> <td class="numLineCover"> 425</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> offsets.clear();</pre></td></tr>
+<tr> <td class="numLineCover"> 426</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> entries.clear();</pre></td></tr>
+<tr> <td class="numLineCover"> 427</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> def.end();</pre></td></tr>
+<tr> <td class="numLineCover"> 428</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> finished = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 429</td> <td class="nbHitsCovered"> 108</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 430</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 431</td> <td class="nbHits"> </td>
@@ -824,47 +824,47 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 439</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> closeArchiveEntry() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 440</td> <td class="nbHitsUncovered"><a title="Line 440: Conditional coverage 50% (1/2)."> 160</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 440: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (finished) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 440</td> <td class="nbHitsUncovered"><a title="Line 440: Conditional coverage 50% (1/2)."> 320</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 440: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (finished) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 441</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"Stream has already been finished"</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 442</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 443</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"><a title="Line 444: Conditional coverage 100% (2/2)."> 160</a></td> <td class="src"><pre class="src"> <a title="Line 444: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 445</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"No current entry to close"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 444</td> <td class="nbHitsCovered"><a title="Line 444: Conditional coverage 100% (2/2)."> 320</a></td> <td class="src"><pre class="src"> <a title="Line 444: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 445</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"No current entry to close"</span>);</pre></td></tr>
<tr> <td class="numLine"> 446</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 447</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 448</td> <td class="nbHitsCovered"><a title="Line 448: Conditional coverage 100% (2/2)."> 156</a></td> <td class="src"><pre class="src"> <a title="Line 448: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!entry.hasWritten) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 449</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> write(EMPTY, 0, 0);</pre></td></tr>
+<tr> <td class="numLineCover"> 448</td> <td class="nbHitsCovered"><a title="Line 448: Conditional coverage 100% (2/2)."> 312</a></td> <td class="src"><pre class="src"> <a title="Line 448: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!entry.hasWritten) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 449</td> <td class="nbHitsCovered"> 12</td> <td class="src"><pre class="src"> write(EMPTY, 0, 0);</pre></td></tr>
<tr> <td class="numLine"> 450</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 451</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 452</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> flushDeflater();</pre></td></tr>
+<tr> <td class="numLineCover"> 452</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> flushDeflater();</pre></td></tr>
<tr> <td class="numLine"> 453</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 454</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Zip64Mode effectiveMode = getEffectiveZip64Mode(entry.entry);</pre></td></tr>
-<tr> <td class="numLineCover"> 455</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> <span class="keyword">long</span> bytesWritten = written - entry.dataStart;</pre></td></tr>
-<tr> <td class="numLineCover"> 456</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> <span class="keyword">long</span> realCrc = crc.getValue();</pre></td></tr>
-<tr> <td class="numLineCover"> 457</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> crc.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 454</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Zip64Mode effectiveMode = getEffectiveZip64Mode(entry.entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 455</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> <span class="keyword">long</span> bytesWritten = written - entry.dataStart;</pre></td></tr>
+<tr> <td class="numLineCover"> 456</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> <span class="keyword">long</span> realCrc = crc.getValue();</pre></td></tr>
+<tr> <td class="numLineCover"> 457</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> crc.reset();</pre></td></tr>
<tr> <td class="numLine"> 458</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 459</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> actuallyNeedsZip64 =</pre></td></tr>
+<tr> <td class="numLineCover"> 459</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">boolean</span> actuallyNeedsZip64 =</pre></td></tr>
<tr> <td class="numLine"> 460</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> handleSizesAndCrc(bytesWritten, realCrc, effectiveMode);</pre></td></tr>
<tr> <td class="numLine"> 461</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 462</td> <td class="nbHitsCovered"><a title="Line 462: Conditional coverage 100% (2/2)."> 156</a></td> <td class="src"><pre class="src"> <a title="Line 462: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (raf != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 463</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> rewriteSizesAndCrc(actuallyNeedsZip64);</pre></td></tr>
+<tr> <td class="numLineCover"> 462</td> <td class="nbHitsCovered"><a title="Line 462: Conditional coverage 100% (2/2)."> 312</a></td> <td class="src"><pre class="src"> <a title="Line 462: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (raf != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 463</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> rewriteSizesAndCrc(actuallyNeedsZip64);</pre></td></tr>
<tr> <td class="numLine"> 464</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 465</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 466</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> writeDataDescriptor(entry.entry);</pre></td></tr>
-<tr> <td class="numLineCover"> 467</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> entry = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 468</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 466</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> writeDataDescriptor(entry.entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 467</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> entry = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 468</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 469</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 470</td> <td class="nbHits"> </td>
@@ -875,15 +875,15 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 473</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> flushDeflater() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"><a title="Line 474: Conditional coverage 100% (2/2)."> 156</a></td> <td class="src"><pre class="src"> <a title="Line 474: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.entry.getMethod() == DEFLATED) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> def.finish();</pre></td></tr>
-<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"><a title="Line 476: Conditional coverage 100% (2/2)."> 310</a></td> <td class="src"><pre class="src"> <a title="Line 476: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (!def.finished()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> deflate();</pre></td></tr>
+<tr> <td class="numLineCover"> 474</td> <td class="nbHitsCovered"><a title="Line 474: Conditional coverage 100% (2/2)."> 312</a></td> <td class="src"><pre class="src"> <a title="Line 474: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.entry.getMethod() == DEFLATED) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 475</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> def.finish();</pre></td></tr>
+<tr> <td class="numLineCover"> 476</td> <td class="nbHitsCovered"><a title="Line 476: Conditional coverage 100% (2/2)."> 620</a></td> <td class="src"><pre class="src"> <a title="Line 476: Conditional coverage 100% (2/2)."> <span class="keyword">while</span> (!def.finished()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 477</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> deflate();</pre></td></tr>
<tr> <td class="numLine"> 478</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 479</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 480</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 481</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 482</td> <td class="nbHits"> </td>
@@ -904,7 +904,7 @@
<td class="src"><pre class="src"> Zip64Mode effectiveMode)</pre></td></tr>
<tr> <td class="numLine"> 490</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> ZipException {</pre></td></tr>
-<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"><a title="Line 491: Conditional coverage 100% (2/2)."> 156</a></td> <td class="src"><pre class="src"> <a title="Line 491: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.entry.getMethod() == DEFLATED) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 491</td> <td class="nbHitsCovered"><a title="Line 491: Conditional coverage 100% (2/2)."> 312</a></td> <td class="src"><pre class="src"> <a title="Line 491: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.entry.getMethod() == DEFLATED) {</a></pre></td></tr>
<tr> <td class="numLine"> 492</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">/* It turns out def.getBytesRead() returns wrong values if</span></pre></td></tr>
<tr> <td class="numLine"> 493</td> <td class="nbHits"> </td>
@@ -913,14 +913,14 @@
<td class="src"><pre class="src"> <span class="comment"> entry.entry.setSize(def.getBytesRead());</span></pre></td></tr>
<tr> <td class="numLine"> 495</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 496</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> entry.entry.setSize(entry.bytesRead);</pre></td></tr>
-<tr> <td class="numLineCover"> 497</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> entry.entry.setCompressedSize(bytesWritten);</pre></td></tr>
-<tr> <td class="numLineCover"> 498</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> entry.entry.setCrc(crc);</pre></td></tr>
+<tr> <td class="numLineCover"> 496</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> entry.entry.setSize(entry.bytesRead);</pre></td></tr>
+<tr> <td class="numLineCover"> 497</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> entry.entry.setCompressedSize(bytesWritten);</pre></td></tr>
+<tr> <td class="numLineCover"> 498</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> entry.entry.setCrc(crc);</pre></td></tr>
<tr> <td class="numLine"> 499</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 155</td> <td class="src"><pre class="src"> def.reset();</pre></td></tr>
-<tr> <td class="numLineCover"> 501</td> <td class="nbHitsUncovered"><a title="Line 501: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 501: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (raf == <span class="keyword">null</span>) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 502</td> <td class="nbHitsUncovered"><a title="Line 502: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 502: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.entry.getCrc() != crc) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 500</td> <td class="nbHitsCovered"> 310</td> <td class="src"><pre class="src"> def.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 501</td> <td class="nbHitsUncovered"><a title="Line 501: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 501: Conditional coverage 50% (1/2)."> } <span class="keyword">else</span> <span class="keyword">if</span> (raf == <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 502</td> <td class="nbHitsUncovered"><a title="Line 502: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 502: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.entry.getCrc() != crc) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 503</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> ZipException(<span class="string">"bad CRC checksum for entry "</span></span></pre></td></tr>
<tr> <td class="numLine"> 504</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> + entry.entry.getName() + <span class="string">": "</span></pre></td></tr>
@@ -934,7 +934,7 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 509</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 510</td> <td class="nbHitsUncovered"><a title="Line 510: Conditional coverage 50% (1/2)."> 1</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 510: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.entry.getSize() != bytesWritten) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 510</td> <td class="nbHitsUncovered"><a title="Line 510: Conditional coverage 50% (1/2)."> 2</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 510: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.entry.getSize() != bytesWritten) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 511</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> ZipException(<span class="string">"bad size for entry "</span></span></pre></td></tr>
<tr> <td class="numLine"> 512</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> + entry.entry.getName() + <span class="string">": "</span></pre></td></tr>
@@ -955,18 +955,18 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 522</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 523</td> <td class="nbHitsUncovered"><a title="Line 523: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%]."> 156</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 523: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> actuallyNeedsZip64 = effectiveMode == Zip64Mode.Always</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 523</td> <td class="nbHitsUncovered"><a title="Line 523: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%]."> 312</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 523: Conditional coverage 50% (3/6) [each condition: 50%, 50%, 50%]."> <span class="keyword">final</span> <span class="keyword">boolean</span> actuallyNeedsZip64 = effectiveMode == Zip64Mode.Always</a></span></pre></td></tr>
<tr> <td class="numLine"> 524</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> || entry.entry.getSize() >= ZIP64_MAGIC</pre></td></tr>
<tr> <td class="numLine"> 525</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> || entry.entry.getCompressedSize() >= ZIP64_MAGIC;</pre></td></tr>
-<tr> <td class="numLineCover"> 526</td> <td class="nbHitsUncovered"><a title="Line 526: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 156</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 526: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (actuallyNeedsZip64 && effectiveMode == Zip64Mode.Never) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 526</td> <td class="nbHitsUncovered"><a title="Line 526: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> 312</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 526: Conditional coverage 25% (1/4) [each condition: 50%, 0%]."> <span class="keyword">if</span> (actuallyNeedsZip64 && effectiveMode == Zip64Mode.Never) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 527</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> Zip64RequiredException(Zip64RequiredException</span></pre></td></tr>
<tr> <td class="numLine"> 528</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .getEntryTooBigMessage(entry.entry));</pre></td></tr>
<tr> <td class="numLine"> 529</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"> 156</td> <td class="src"><pre class="src"> <span class="keyword">return</span> actuallyNeedsZip64;</pre></td></tr>
+<tr> <td class="numLineCover"> 530</td> <td class="nbHitsCovered"> 312</td> <td class="src"><pre class="src"> <span class="keyword">return</span> actuallyNeedsZip64;</pre></td></tr>
<tr> <td class="numLine"> 531</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 532</td> <td class="nbHits"> </td>
@@ -985,14 +985,14 @@
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> rewriteSizesAndCrc(<span class="keyword">boolean</span> actuallyNeedsZip64)</pre></td></tr>
<tr> <td class="numLine"> 539</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> <span class="keyword">long</span> save = raf.getFilePointer();</pre></td></tr>
+<tr> <td class="numLineCover"> 540</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> <span class="keyword">long</span> save = raf.getFilePointer();</pre></td></tr>
<tr> <td class="numLine"> 541</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart);</pre></td></tr>
-<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getCrc()));</pre></td></tr>
-<tr> <td class="numLineCover"> 544</td> <td class="nbHitsUncovered"><a title="Line 544: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 34</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 544: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (!hasZip64Extra(entry.entry) || !actuallyNeedsZip64) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getCompressedSize()));</pre></td></tr>
-<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getSize()));</pre></td></tr>
+<tr> <td class="numLineCover"> 542</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart);</pre></td></tr>
+<tr> <td class="numLineCover"> 543</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getCrc()));</pre></td></tr>
+<tr> <td class="numLineCover"> 544</td> <td class="nbHitsUncovered"><a title="Line 544: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> 68</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 544: Conditional coverage 75% (3/4) [each condition: 100%, 50%]."> <span class="keyword">if</span> (!hasZip64Extra(entry.entry) || !actuallyNeedsZip64) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 545</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getCompressedSize()));</pre></td></tr>
+<tr> <td class="numLineCover"> 546</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> writeOut(ZipLong.getBytes(entry.entry.getSize()));</pre></td></tr>
<tr> <td class="numLine"> 547</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
<tr> <td class="numLineCover"> 548</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> writeOut(ZipLong.ZIP64_MAGIC.getBytes());</span></pre></td></tr>
@@ -1001,53 +1001,53 @@
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 551</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 552</td> <td class="nbHitsCovered"><a title="Line 552: Conditional coverage 100% (2/2)."> 34</a></td> <td class="src"><pre class="src"> <a title="Line 552: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (hasZip64Extra(entry.entry)) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 552</td> <td class="nbHitsCovered"><a title="Line 552: Conditional coverage 100% (2/2)."> 68</a></td> <td class="src"><pre class="src"> <a title="Line 552: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (hasZip64Extra(entry.entry)) {</a></pre></td></tr>
<tr> <td class="numLine"> 553</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// seek to ZIP64 extra, skip header and size information</span></pre></td></tr>
-<tr> <td class="numLineCover"> 554</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart + 3 * WORD + 2 * SHORT</pre></td></tr>
+<tr> <td class="numLineCover"> 554</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart + 3 * WORD + 2 * SHORT</pre></td></tr>
<tr> <td class="numLine"> 555</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> + getName(entry.entry).limit() + 2 * SHORT);</pre></td></tr>
<tr> <td class="numLine"> 556</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// inside the ZIP64 extra uncompressed size comes</span></pre></td></tr>
<tr> <td class="numLine"> 557</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// first, unlike the LFH, CD or data descriptor</span></pre></td></tr>
-<tr> <td class="numLineCover"> 558</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> writeOut(ZipEightByteInteger.getBytes(entry.entry.getSize()));</pre></td></tr>
-<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> writeOut(ZipEightByteInteger.getBytes(entry.entry.getCompressedSize()));</pre></td></tr>
+<tr> <td class="numLineCover"> 558</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> writeOut(ZipEightByteInteger.getBytes(entry.entry.getSize()));</pre></td></tr>
+<tr> <td class="numLineCover"> 559</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> writeOut(ZipEightByteInteger.getBytes(entry.entry.getCompressedSize()));</pre></td></tr>
<tr> <td class="numLine"> 560</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 561</td> <td class="nbHitsUncovered"><a title="Line 561: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 561: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!actuallyNeedsZip64) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 561</td> <td class="nbHitsUncovered"><a title="Line 561: Conditional coverage 50% (1/2)."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 561: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (!actuallyNeedsZip64) {</a></span></pre></td></tr>
<tr> <td class="numLine"> 562</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// do some cleanup:</span></pre></td></tr>
<tr> <td class="numLine"> 563</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// * rewrite version needed to extract</span></pre></td></tr>
-<tr> <td class="numLineCover"> 564</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart - 5 * SHORT);</pre></td></tr>
-<tr> <td class="numLineCover"> 565</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> writeOut(ZipShort.getBytes(INITIAL_VERSION));</pre></td></tr>
+<tr> <td class="numLineCover"> 564</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> raf.seek(entry.localDataStart - 5 * SHORT);</pre></td></tr>
+<tr> <td class="numLineCover"> 565</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> writeOut(ZipShort.getBytes(INITIAL_VERSION));</pre></td></tr>
<tr> <td class="numLine"> 566</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 567</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// * remove ZIP64 extra so it doesn't get written</span></pre></td></tr>
<tr> <td class="numLine"> 568</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// to the central directory</span></pre></td></tr>
-<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> entry.entry.removeExtraField(Zip64ExtendedInformationExtraField</pre></td></tr>
+<tr> <td class="numLineCover"> 569</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> entry.entry.removeExtraField(Zip64ExtendedInformationExtraField</pre></td></tr>
<tr> <td class="numLine"> 570</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .HEADER_ID);</pre></td></tr>
-<tr> <td class="numLineCover"> 571</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> entry.entry.setExtra();</pre></td></tr>
+<tr> <td class="numLineCover"> 571</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> entry.entry.setExtra();</pre></td></tr>
<tr> <td class="numLine"> 572</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 573</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// * reset hasUsedZip64 if it has been set because</span></pre></td></tr>
<tr> <td class="numLine"> 574</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// of this entry</span></pre></td></tr>
-<tr> <td class="numLineCover"> 575</td> <td class="nbHitsUncovered"><a title="Line 575: Conditional coverage 50% (1/2)."> 32</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 575: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.causedUseOfZip64) {</a></span></pre></td></tr>
-<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 32</td> <td class="src"><pre class="src"> hasUsedZip64 = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 575</td> <td class="nbHitsUncovered"><a title="Line 575: Conditional coverage 50% (1/2)."> 64</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 575: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry.causedUseOfZip64) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 576</td> <td class="nbHitsCovered"> 64</td> <td class="src"><pre class="src"> hasUsedZip64 = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 577</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 578</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 579</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> raf.seek(save);</pre></td></tr>
-<tr> <td class="numLineCover"> 581</td> <td class="nbHitsCovered"> 34</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 580</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> raf.seek(save);</pre></td></tr>
+<tr> <td class="numLineCover"> 581</td> <td class="nbHitsCovered"> 68</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 582</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 583</td> <td class="nbHits"> </td>
@@ -1068,41 +1068,41 @@
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 591</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> putArchiveEntry(ArchiveEntry archiveEntry) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 592</td> <td class="nbHitsUncovered"><a title="Line 592: Conditional coverage 50% (1/2)."> 158</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 592: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (finished) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 592</td> <td class="nbHitsUncovered"><a title="Line 592: Conditional coverage 50% (1/2)."> 316</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 592: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (finished) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 593</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> <span class="keyword">throw</span> <span class="keyword">new</span> IOException(<span class="string">"Stream has already been finished"</span>);</span></pre></td></tr>
<tr> <td class="numLine"> 594</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 595</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 596</td> <td class="nbHitsUncovered"><a title="Line 596: Conditional coverage 50% (1/2)."> 158</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 596: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry != <span class="keyword">null</span>) {</a></span></pre></td></tr>
+<tr> <td class="numLineCover"> 596</td> <td class="nbHitsUncovered"><a title="Line 596: Conditional coverage 50% (1/2)."> 316</a></td> <td class="src"><pre class="src"><span class="srcUncovered"> <a title="Line 596: Conditional coverage 50% (1/2)."> <span class="keyword">if</span> (entry != <span class="keyword">null</span>) {</a></span></pre></td></tr>
<tr> <td class="numLineCover"> 597</td> <td class="nbHitsUncovered"> 0</td> <td class="src"><pre class="src"><span class="srcUncovered"> closeArchiveEntry();</span></pre></td></tr>
<tr> <td class="numLine"> 598</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 599</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 600</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> entry = <span class="keyword">new</span> CurrentEntry((ZipArchiveEntry) archiveEntry);</pre></td></tr>
-<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> entries.add(entry.entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 600</td> <td class="nbHitsCovered"> 316</td> <td class="src"><pre class="src"> entry = <span class="keyword">new</span> CurrentEntry((ZipArchiveEntry) archiveEntry);</pre></td></tr>
+<tr> <td class="numLineCover"> 601</td> <td class="nbHitsCovered"> 316</td> <td class="src"><pre class="src"> entries.add(entry.entry);</pre></td></tr>
<tr> <td class="numLine"> 602</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> setDefaults(entry.entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 603</td> <td class="nbHitsCovered"> 316</td> <td class="src"><pre class="src"> setDefaults(entry.entry);</pre></td></tr>
<tr> <td class="numLine"> 604</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Zip64Mode effectiveMode = getEffectiveZip64Mode(entry.entry);</pre></td></tr>
-<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 158</td> <td class="src"><pre class="src"> validateSizeInformation(effectiveMode);</pre></td></tr>
+<tr> <td class="numLineCover"> 605</td> <td class="nbHitsCovered"> 316</td> <td class="src"><pre class="src"> <span class="keyword">final</span> Zip64Mode effectiveMode = getEffectiveZip64Mode(entry.entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 606</td> <td class="nbHitsCovered"> 316</td> <td class="src"><pre class="src"> validateSizeInformation(effectiveMode);</pre></td></tr>
<tr> <td class="numLine"> 607</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
[... 1149 lines stripped ...]