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 [19/50] - in
/websites/production/commons/content/proper/commons-compress: ./ cobertura/
Modified: websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.sevenz.SevenZOutputFile.html
==============================================================================
--- websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.sevenz.SevenZOutputFile.html (original)
+++ websites/production/commons/content/proper/commons-compress/cobertura/org.apache.commons.compress.archivers.sevenz.SevenZOutputFile.html Sat Oct 26 14:22:15 2013
@@ -97,18 +97,18 @@
<td class="src"><pre class="src"> <span class="comment"> * @since 1.6</span></pre></td></tr>
<tr> <td class="numLine"> 39</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 40</td> <td class="nbHitsCovered"> 722</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> SevenZOutputFile {</pre></td></tr>
+<tr> <td class="numLineCover"> 40</td> <td class="nbHitsCovered"> 1444</td> <td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">class</span> SevenZOutputFile {</pre></td></tr>
<tr> <td class="numLine"> 41</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> RandomAccessFile file;</pre></td></tr>
-<tr> <td class="numLineCover"> 42</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<SevenZArchiveEntry> files = <span class="keyword">new</span> ArrayList<SevenZArchiveEntry>();</pre></td></tr>
-<tr> <td class="numLineCover"> 43</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> numNonEmptyStreams = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 44</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> CRC32 crc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
-<tr> <td class="numLineCover"> 45</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> CRC32 compressedCrc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
-<tr> <td class="numLineCover"> 46</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> fileBytesWritten = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 47</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> finished = <span class="keyword">false</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 42</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">final</span> List<SevenZArchiveEntry> files = <span class="keyword">new</span> ArrayList<SevenZArchiveEntry>();</pre></td></tr>
+<tr> <td class="numLineCover"> 43</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">int</span> numNonEmptyStreams = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 44</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> CRC32 crc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
+<tr> <td class="numLineCover"> 45</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> CRC32 compressedCrc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
+<tr> <td class="numLineCover"> 46</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">long</span> fileBytesWritten = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 47</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">boolean</span> finished = <span class="keyword">false</span>;</pre></td></tr>
<tr> <td class="numLine"> 48</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> CountingOutputStream currentOutputStream;</pre></td></tr>
-<tr> <td class="numLineCover"> 49</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">private</span> SevenZMethod contentCompression = SevenZMethod.LZMA2;</pre></td></tr>
+<tr> <td class="numLineCover"> 49</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">private</span> SevenZMethod contentCompression = SevenZMethod.LZMA2;</pre></td></tr>
<tr> <td class="numLine"> 50</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 51</td> <td class="nbHits"> </td>
@@ -123,10 +123,10 @@
<td class="src"><pre class="src"> <span class="comment"> * @throws IOException if opening the file fails</span></pre></td></tr>
<tr> <td class="numLine"> 56</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
-<tr> <td class="numLineCover"> 57</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">public</span> SevenZOutputFile(<span class="keyword">final</span> File filename) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 58</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file = <span class="keyword">new</span> RandomAccessFile(filename, <span class="string">"rw"</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 59</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.seek(SevenZFile.SIGNATURE_HEADER_SIZE);</pre></td></tr>
-<tr> <td class="numLineCover"> 60</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 57</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">public</span> SevenZOutputFile(<span class="keyword">final</span> File filename) <span class="keyword">throws</span> IOException {</pre></td></tr>
+<tr> <td class="numLineCover"> 58</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file = <span class="keyword">new</span> RandomAccessFile(filename, <span class="string">"rw"</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 59</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.seek(SevenZFile.SIGNATURE_HEADER_SIZE);</pre></td></tr>
+<tr> <td class="numLineCover"> 60</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 61</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 62</td> <td class="nbHits"> </td>
@@ -147,8 +147,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 70</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> setContentCompression(SevenZMethod method) {</pre></td></tr>
-<tr> <td class="numLineCover"> 71</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.contentCompression = method;</pre></td></tr>
-<tr> <td class="numLineCover"> 72</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 71</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">this</span>.contentCompression = method;</pre></td></tr>
+<tr> <td class="numLineCover"> 72</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 73</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 74</td> <td class="nbHits"> </td>
@@ -163,12 +163,12 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 79</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> close() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"><a title="Line 80: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 80: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!finished) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 81</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> finish();</pre></td></tr>
+<tr> <td class="numLineCover"> 80</td> <td class="nbHitsCovered"><a title="Line 80: Conditional coverage 100% (2/2)."> 14</a></td> <td class="src"><pre class="src"> <a title="Line 80: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (!finished) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 81</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> finish();</pre></td></tr>
<tr> <td class="numLine"> 82</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 83</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.close();</pre></td></tr>
-<tr> <td class="numLineCover"> 84</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 83</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.close();</pre></td></tr>
+<tr> <td class="numLineCover"> 84</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 85</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 86</td> <td class="nbHits"> </td>
@@ -193,11 +193,11 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> SevenZArchiveEntry createArchiveEntry(<span class="keyword">final</span> File inputFile,</pre></td></tr>
<tr> <td class="numLine"> 96</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">final</span> String entryName) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = <span class="keyword">new</span> SevenZArchiveEntry();</pre></td></tr>
-<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setDirectory(inputFile.isDirectory());</pre></td></tr>
-<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setName(entryName);</pre></td></tr>
-<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setLastModifiedDate(<span class="keyword">new</span> Date(inputFile.lastModified()));</pre></td></tr>
-<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> entry;</pre></td></tr>
+<tr> <td class="numLineCover"> 97</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = <span class="keyword">new</span> SevenZArchiveEntry();</pre></td></tr>
+<tr> <td class="numLineCover"> 98</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setDirectory(inputFile.isDirectory());</pre></td></tr>
+<tr> <td class="numLineCover"> 99</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setName(entryName);</pre></td></tr>
+<tr> <td class="numLineCover"> 100</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setLastModifiedDate(<span class="keyword">new</span> Date(inputFile.lastModified()));</pre></td></tr>
+<tr> <td class="numLineCover"> 101</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> entry;</pre></td></tr>
<tr> <td class="numLine"> 102</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 103</td> <td class="nbHits"> </td>
@@ -222,9 +222,9 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 113</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> putArchiveEntry(<span class="keyword">final</span> ArchiveEntry archiveEntry) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 114</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = (SevenZArchiveEntry) archiveEntry;</pre></td></tr>
-<tr> <td class="numLineCover"> 115</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> files.add(entry);</pre></td></tr>
-<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 114</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = (SevenZArchiveEntry) archiveEntry;</pre></td></tr>
+<tr> <td class="numLineCover"> 115</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> files.add(entry);</pre></td></tr>
+<tr> <td class="numLineCover"> 116</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</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="numLine"> 118</td> <td class="nbHits"> </td>
@@ -237,35 +237,35 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 122</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"> 123</td> <td class="nbHitsCovered"><a title="Line 123: Conditional coverage 100% (2/2)."> 14</a></td> <td class="src"><pre class="src"> <a title="Line 123: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentOutputStream != <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 124</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> currentOutputStream.flush();</pre></td></tr>
-<tr> <td class="numLineCover"> 125</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> currentOutputStream.close();</pre></td></tr>
+<tr> <td class="numLineCover"> 123</td> <td class="nbHitsCovered"><a title="Line 123: Conditional coverage 100% (2/2)."> 28</a></td> <td class="src"><pre class="src"> <a title="Line 123: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentOutputStream != <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 124</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> currentOutputStream.flush();</pre></td></tr>
+<tr> <td class="numLineCover"> 125</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> currentOutputStream.close();</pre></td></tr>
<tr> <td class="numLine"> 126</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 127</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 128</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = files.get(files.size() - 1);</pre></td></tr>
-<tr> <td class="numLineCover"> 129</td> <td class="nbHitsCovered"><a title="Line 129: Conditional coverage 100% (2/2)."> 14</a></td> <td class="src"><pre class="src"> <a title="Line 129: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fileBytesWritten > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 130</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setHasStream(<span class="keyword">true</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 131</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> ++numNonEmptyStreams;</pre></td></tr>
-<tr> <td class="numLineCover"> 132</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setSize(currentOutputStream.getBytesWritten());</pre></td></tr>
-<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setCompressedSize(fileBytesWritten);</pre></td></tr>
-<tr> <td class="numLineCover"> 134</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setCrc((<span class="keyword">int</span>) crc32.getValue());</pre></td></tr>
-<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setCompressedCrc((<span class="keyword">int</span>) compressedCrc32.getValue());</pre></td></tr>
-<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> entry.setHasCrc(<span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 128</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> <span class="keyword">final</span> SevenZArchiveEntry entry = files.get(files.size() - 1);</pre></td></tr>
+<tr> <td class="numLineCover"> 129</td> <td class="nbHitsCovered"><a title="Line 129: Conditional coverage 100% (2/2)."> 28</a></td> <td class="src"><pre class="src"> <a title="Line 129: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (fileBytesWritten > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 130</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setHasStream(<span class="keyword">true</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 131</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> ++numNonEmptyStreams;</pre></td></tr>
+<tr> <td class="numLineCover"> 132</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setSize(currentOutputStream.getBytesWritten());</pre></td></tr>
+<tr> <td class="numLineCover"> 133</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setCompressedSize(fileBytesWritten);</pre></td></tr>
+<tr> <td class="numLineCover"> 134</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setCrc((<span class="keyword">int</span>) crc32.getValue());</pre></td></tr>
+<tr> <td class="numLineCover"> 135</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setCompressedCrc((<span class="keyword">int</span>) compressedCrc32.getValue());</pre></td></tr>
+<tr> <td class="numLineCover"> 136</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> entry.setHasCrc(<span class="keyword">true</span>);</pre></td></tr>
<tr> <td class="numLine"> 137</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> } <span class="keyword">else</span> {</pre></td></tr>
-<tr> <td class="numLineCover"> 138</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> entry.setHasStream(<span class="keyword">false</span>);</pre></td></tr>
-<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> entry.setSize(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> entry.setCompressedSize(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> entry.setHasCrc(<span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 138</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> entry.setHasStream(<span class="keyword">false</span>);</pre></td></tr>
+<tr> <td class="numLineCover"> 139</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> entry.setSize(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 140</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> entry.setCompressedSize(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 141</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> entry.setHasCrc(<span class="keyword">false</span>);</pre></td></tr>
<tr> <td class="numLine"> 142</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> currentOutputStream = <span class="keyword">null</span>;</pre></td></tr>
-<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
-<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> compressedCrc32.reset();</pre></td></tr>
-<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> fileBytesWritten = 0;</pre></td></tr>
-<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 143</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> currentOutputStream = <span class="keyword">null</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 144</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 145</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> compressedCrc32.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 146</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> fileBytesWritten = 0;</pre></td></tr>
+<tr> <td class="numLineCover"> 147</td> <td class="nbHitsCovered"> 28</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 148</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 149</td> <td class="nbHits"> </td>
@@ -280,8 +280,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 154</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(<span class="keyword">final</span> <span class="keyword">int</span> b) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> getCurrentOutputStream().write(b);</pre></td></tr>
-<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 155</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> getCurrentOutputStream().write(b);</pre></td></tr>
+<tr> <td class="numLineCover"> 156</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 157</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 158</td> <td class="nbHits"> </td>
@@ -296,8 +296,8 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 163</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(<span class="keyword">final</span> <span class="keyword">byte</span>[] b) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 164</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> write(b, 0, b.length);</pre></td></tr>
-<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 1</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 164</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> write(b, 0, b.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 165</td> <td class="nbHitsCovered"> 2</td> <td class="src"><pre class="src"> }</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>
@@ -316,11 +316,11 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 174</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(<span class="keyword">final</span> <span class="keyword">byte</span>[] b, <span class="keyword">final</span> <span class="keyword">int</span> off, <span class="keyword">final</span> <span class="keyword">int</span> len) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"><a title="Line 175: Conditional coverage 100% (2/2)."> 9</a></td> <td class="src"><pre class="src"> <a title="Line 175: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (len > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> getCurrentOutputStream().write(b, off, len);</pre></td></tr>
+<tr> <td class="numLineCover"> 175</td> <td class="nbHitsCovered"><a title="Line 175: Conditional coverage 100% (2/2)."> 18</a></td> <td class="src"><pre class="src"> <a title="Line 175: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (len > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 176</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> getCurrentOutputStream().write(b, off, len);</pre></td></tr>
<tr> <td class="numLine"> 177</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 9</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 178</td> <td class="nbHitsCovered"> 18</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 179</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 180</td> <td class="nbHits"> </td>
@@ -335,55 +335,55 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 185</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"> 186</td> <td class="nbHitsCovered"><a title="Line 186: Conditional coverage 100% (2/2)."> 8</a></td> <td class="src"><pre class="src"> <a title="Line 186: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (finished) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"> 1</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"> 186</td> <td class="nbHitsCovered"><a title="Line 186: Conditional coverage 100% (2/2)."> 16</a></td> <td class="src"><pre class="src"> <a title="Line 186: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (finished) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 187</td> <td class="nbHitsCovered"> 2</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"> 188</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> finished = <span class="keyword">true</span>;</pre></td></tr>
+<tr> <td class="numLineCover"> 189</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> finished = <span class="keyword">true</span>;</pre></td></tr>
<tr> <td class="numLine"> 190</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 191</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">long</span> headerPosition = file.getFilePointer();</pre></td></tr>
+<tr> <td class="numLineCover"> 191</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">long</span> headerPosition = file.getFilePointer();</pre></td></tr>
<tr> <td class="numLine"> 192</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ByteArrayOutputStream headerBaos = <span class="keyword">new</span> ByteArrayOutputStream();</pre></td></tr>
-<tr> <td class="numLineCover"> 194</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DataOutputStream header = <span class="keyword">new</span> DataOutputStream(headerBaos);</pre></td></tr>
+<tr> <td class="numLineCover"> 193</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ByteArrayOutputStream headerBaos = <span class="keyword">new</span> ByteArrayOutputStream();</pre></td></tr>
+<tr> <td class="numLineCover"> 194</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DataOutputStream header = <span class="keyword">new</span> DataOutputStream(headerBaos);</pre></td></tr>
<tr> <td class="numLine"> 195</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeHeader(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.flush();</pre></td></tr>
-<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] headerBytes = headerBaos.toByteArray();</pre></td></tr>
-<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.write(headerBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 196</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> writeHeader(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 197</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.flush();</pre></td></tr>
+<tr> <td class="numLineCover"> 198</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] headerBytes = headerBaos.toByteArray();</pre></td></tr>
+<tr> <td class="numLineCover"> 199</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.write(headerBytes);</pre></td></tr>
<tr> <td class="numLine"> 200</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> CRC32 crc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
+<tr> <td class="numLineCover"> 201</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> CRC32 crc32 = <span class="keyword">new</span> CRC32();</pre></td></tr>
<tr> <td class="numLine"> 202</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 203</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// signature header</span></pre></td></tr>
-<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.seek(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 205</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.write(SevenZFile.sevenZSignature);</pre></td></tr>
+<tr> <td class="numLineCover"> 204</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.seek(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 205</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.write(SevenZFile.sevenZSignature);</pre></td></tr>
<tr> <td class="numLine"> 206</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// version</span></pre></td></tr>
-<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.write(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.write(2);</pre></td></tr>
+<tr> <td class="numLineCover"> 207</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.write(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 208</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.write(2);</pre></td></tr>
<tr> <td class="numLine"> 209</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 210</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// start header</span></pre></td></tr>
-<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ByteArrayOutputStream startHeaderBaos = <span class="keyword">new</span> ByteArrayOutputStream();</pre></td></tr>
-<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DataOutputStream startHeaderStream = <span class="keyword">new</span> DataOutputStream(startHeaderBaos);</pre></td></tr>
-<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> startHeaderStream.writeLong(Long.reverseBytes(headerPosition - SevenZFile.SIGNATURE_HEADER_SIZE));</pre></td></tr>
-<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> startHeaderStream.writeLong(Long.reverseBytes(0xffffFFFFL & headerBytes.length));</pre></td></tr>
-<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
-<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> crc32.update(headerBytes);</pre></td></tr>
-<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> startHeaderStream.writeInt(Integer.reverseBytes((<span class="keyword">int</span>)crc32.getValue()));</pre></td></tr>
-<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> startHeaderStream.flush();</pre></td></tr>
-<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] startHeaderBytes = startHeaderBaos.toByteArray();</pre></td></tr>
-<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
-<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> crc32.update(startHeaderBytes);</pre></td></tr>
-<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.writeInt(Integer.reverseBytes((<span class="keyword">int</span>)crc32.getValue()));</pre></td></tr>
-<tr> <td class="numLineCover"> 223</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> file.write(startHeaderBytes);</pre></td></tr>
-<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 211</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> ByteArrayOutputStream startHeaderBaos = <span class="keyword">new</span> ByteArrayOutputStream();</pre></td></tr>
+<tr> <td class="numLineCover"> 212</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> DataOutputStream startHeaderStream = <span class="keyword">new</span> DataOutputStream(startHeaderBaos);</pre></td></tr>
+<tr> <td class="numLineCover"> 213</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> startHeaderStream.writeLong(Long.reverseBytes(headerPosition - SevenZFile.SIGNATURE_HEADER_SIZE));</pre></td></tr>
+<tr> <td class="numLineCover"> 214</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> startHeaderStream.writeLong(Long.reverseBytes(0xffffFFFFL & headerBytes.length));</pre></td></tr>
+<tr> <td class="numLineCover"> 215</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 216</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> crc32.update(headerBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 217</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> startHeaderStream.writeInt(Integer.reverseBytes((<span class="keyword">int</span>)crc32.getValue()));</pre></td></tr>
+<tr> <td class="numLineCover"> 218</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> startHeaderStream.flush();</pre></td></tr>
+<tr> <td class="numLineCover"> 219</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> <span class="keyword">final</span> <span class="keyword">byte</span>[] startHeaderBytes = startHeaderBaos.toByteArray();</pre></td></tr>
+<tr> <td class="numLineCover"> 220</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> crc32.reset();</pre></td></tr>
+<tr> <td class="numLineCover"> 221</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> crc32.update(startHeaderBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 222</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.writeInt(Integer.reverseBytes((<span class="keyword">int</span>)crc32.getValue()));</pre></td></tr>
+<tr> <td class="numLineCover"> 223</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> file.write(startHeaderBytes);</pre></td></tr>
+<tr> <td class="numLineCover"> 224</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 225</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 226</td> <td class="nbHits"> </td>
@@ -398,31 +398,31 @@
<td class="src"><pre class="src"> <span class="comment"> */</span></pre></td></tr>
<tr> <td class="numLine"> 231</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> OutputStream getCurrentOutputStream() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"><a title="Line 232: Conditional coverage 100% (2/2)."> 11</a></td> <td class="src"><pre class="src"> <a title="Line 232: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentOutputStream == <span class="keyword">null</span>) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> currentOutputStream = setupFileOutputStream();</pre></td></tr>
+<tr> <td class="numLineCover"> 232</td> <td class="nbHitsCovered"><a title="Line 232: Conditional coverage 100% (2/2)."> 22</a></td> <td class="src"><pre class="src"> <a title="Line 232: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (currentOutputStream == <span class="keyword">null</span>) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 233</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> currentOutputStream = setupFileOutputStream();</pre></td></tr>
<tr> <td class="numLine"> 234</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"> 11</td> <td class="src"><pre class="src"> <span class="keyword">return</span> currentOutputStream;</pre></td></tr>
+<tr> <td class="numLineCover"> 235</td> <td class="nbHitsCovered"> 22</td> <td class="src"><pre class="src"> <span class="keyword">return</span> currentOutputStream;</pre></td></tr>
<tr> <td class="numLine"> 236</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 237</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 238</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> CountingOutputStream setupFileOutputStream() <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> OutputStream out = <span class="keyword">new</span> OutputStreamWrapper();</pre></td></tr>
-<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> CountingOutputStream(Coders</pre></td></tr>
+<tr> <td class="numLineCover"> 239</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> OutputStream out = <span class="keyword">new</span> OutputStreamWrapper();</pre></td></tr>
+<tr> <td class="numLineCover"> 240</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">return</span> <span class="keyword">new</span> CountingOutputStream(Coders</pre></td></tr>
<tr> <td class="numLine"> 241</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> .addEncoder(out,</pre></td></tr>
<tr> <td class="numLine"> 242</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> contentCompression,</pre></td></tr>
-<tr> <td class="numLineCover"> 243</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">null</span>)) {</pre></td></tr>
+<tr> <td class="numLineCover"> 243</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">null</span>)) {</pre></td></tr>
<tr> <td class="numLine"> 244</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> @Override</pre></td></tr>
<tr> <td class="numLine"> 245</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(<span class="keyword">final</span> <span class="keyword">int</span> b) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.write(b);</pre></td></tr>
-<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> crc32.update(b);</pre></td></tr>
-<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 3</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 246</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.write(b);</pre></td></tr>
+<tr> <td class="numLineCover"> 247</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> crc32.update(b);</pre></td></tr>
+<tr> <td class="numLineCover"> 248</td> <td class="nbHitsCovered"> 6</td> <td class="src"><pre class="src"> }</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>
@@ -440,9 +440,9 @@
<td class="src"><pre class="src"> <span class="keyword">public</span> <span class="keyword">void</span> write(<span class="keyword">final</span> <span class="keyword">byte</span>[] b, <span class="keyword">final</span> <span class="keyword">int</span> off, <span class="keyword">final</span> <span class="keyword">int</span> len)</pre></td></tr>
<tr> <td class="numLine"> 258</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.write(b, off, len);</pre></td></tr>
-<tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> crc32.update(b, off, len);</pre></td></tr>
-<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 259</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> <span class="keyword">super</span>.write(b, off, len);</pre></td></tr>
+<tr> <td class="numLineCover"> 260</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> crc32.update(b, off, len);</pre></td></tr>
+<tr> <td class="numLineCover"> 261</td> <td class="nbHitsCovered"> 16</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 262</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> };</pre></td></tr>
<tr> <td class="numLine"> 263</td> <td class="nbHits"> </td>
@@ -451,130 +451,130 @@
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 265</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeHeader(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kHeader);</pre></td></tr>
+<tr> <td class="numLineCover"> 266</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kHeader);</pre></td></tr>
<tr> <td class="numLine"> 267</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 268</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kMainStreamsInfo);</pre></td></tr>
-<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeStreamsInfo(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFilesInfo(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
-<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 268</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kMainStreamsInfo);</pre></td></tr>
+<tr> <td class="numLineCover"> 269</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> writeStreamsInfo(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 270</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> writeFilesInfo(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 271</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
+<tr> <td class="numLineCover"> 272</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 273</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 274</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeStreamsInfo(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 7</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (numNonEmptyStreams > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> writePackInfo(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> writeUnpackInfo(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 275</td> <td class="nbHitsCovered"><a title="Line 275: Conditional coverage 100% (2/2)."> 14</a></td> <td class="src"><pre class="src"> <a title="Line 275: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (numNonEmptyStreams > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 276</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writePackInfo(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 277</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUnpackInfo(header);</pre></td></tr>
<tr> <td class="numLine"> 278</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<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="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeSubStreamsInfo(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 280</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> writeSubStreamsInfo(header);</pre></td></tr>
<tr> <td class="numLine"> 281</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 282</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
-<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 7</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"> header.write(NID.kEnd);</pre></td></tr>
+<tr> <td class="numLineCover"> 283</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 284</td> <td class="nbHits"> </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"> <span class="keyword">private</span> <span class="keyword">void</span> writePackInfo(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kPackInfo);</pre></td></tr>
+<tr> <td class="numLineCover"> 286</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kPackInfo);</pre></td></tr>
<tr> <td class="numLine"> 287</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> writeUint64(header, 0);</pre></td></tr>
-<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> writeUint64(header, 0xffffFFFFL & numNonEmptyStreams);</pre></td></tr>
+<tr> <td class="numLineCover"> 288</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, 0);</pre></td></tr>
+<tr> <td class="numLineCover"> 289</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, 0xffffFFFFL & numNonEmptyStreams);</pre></td></tr>
<tr> <td class="numLine"> 290</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kSize);</pre></td></tr>
-<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"><a title="Line 292: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 292: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"><a title="Line 293: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 293: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, entry.getCompressedSize());</pre></td></tr>
+<tr> <td class="numLineCover"> 291</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kSize);</pre></td></tr>
+<tr> <td class="numLineCover"> 292</td> <td class="nbHitsCovered"><a title="Line 292: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 292: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 293</td> <td class="nbHitsCovered"><a title="Line 293: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 293: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 294</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> writeUint64(header, entry.getCompressedSize());</pre></td></tr>
<tr> <td class="numLine"> 295</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 296</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 297</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 298</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kCRC);</pre></td></tr>
-<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(1);</pre></td></tr>
-<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"><a title="Line 300: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 300: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"><a title="Line 301: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 301: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.writeInt(Integer.reverseBytes(entry.getCompressedCrc()));</pre></td></tr>
+<tr> <td class="numLineCover"> 298</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kCRC);</pre></td></tr>
+<tr> <td class="numLineCover"> 299</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(1);</pre></td></tr>
+<tr> <td class="numLineCover"> 300</td> <td class="nbHitsCovered"><a title="Line 300: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 300: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 301</td> <td class="nbHitsCovered"><a title="Line 301: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 301: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 302</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> header.writeInt(Integer.reverseBytes(entry.getCompressedCrc()));</pre></td></tr>
<tr> <td class="numLine"> 303</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 304</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 305</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
-<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 306</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
+<tr> <td class="numLineCover"> 307</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 308</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 309</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeUnpackInfo(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kUnpackInfo);</pre></td></tr>
+<tr> <td class="numLineCover"> 310</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kUnpackInfo);</pre></td></tr>
<tr> <td class="numLine"> 311</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kFolder);</pre></td></tr>
-<tr> <td class="numLineCover"> 313</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> writeUint64(header, numNonEmptyStreams);</pre></td></tr>
-<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 315</td> <td class="nbHitsCovered"><a title="Line 315: Conditional coverage 100% (2/2)."> 15</a></td> <td class="src"><pre class="src"> <a title="Line 315: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < numNonEmptyStreams; i++) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeFolder(header);</pre></td></tr>
+<tr> <td class="numLineCover"> 312</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kFolder);</pre></td></tr>
+<tr> <td class="numLineCover"> 313</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, numNonEmptyStreams);</pre></td></tr>
+<tr> <td class="numLineCover"> 314</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(0);</pre></td></tr>
+<tr> <td class="numLineCover"> 315</td> <td class="nbHitsCovered"><a title="Line 315: Conditional coverage 100% (2/2)."> 30</a></td> <td class="src"><pre class="src"> <a title="Line 315: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < numNonEmptyStreams; i++) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 316</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> writeFolder(header);</pre></td></tr>
<tr> <td class="numLine"> 317</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 318</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 319</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kCodersUnpackSize);</pre></td></tr>
-<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"><a title="Line 320: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 320: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"><a title="Line 321: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 321: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, entry.getSize());</pre></td></tr>
+<tr> <td class="numLineCover"> 319</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kCodersUnpackSize);</pre></td></tr>
+<tr> <td class="numLineCover"> 320</td> <td class="nbHitsCovered"><a title="Line 320: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 320: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 321</td> <td class="nbHitsCovered"><a title="Line 321: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 321: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 322</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> writeUint64(header, entry.getSize());</pre></td></tr>
<tr> <td class="numLine"> 323</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 324</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 325</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kCRC);</pre></td></tr>
-<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(1);</pre></td></tr>
-<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"><a title="Line 328: Conditional coverage 100% (2/2)."> 5</a></td> <td class="src"><pre class="src"> <a title="Line 328: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 13</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.writeInt(Integer.reverseBytes(entry.getCrc()));</pre></td></tr>
+<tr> <td class="numLineCover"> 326</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kCRC);</pre></td></tr>
+<tr> <td class="numLineCover"> 327</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(1);</pre></td></tr>
+<tr> <td class="numLineCover"> 328</td> <td class="nbHitsCovered"><a title="Line 328: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 328: Conditional coverage 100% (2/2)."> <span class="keyword">for</span> (<span class="keyword">final</span> SevenZArchiveEntry entry : files) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 329</td> <td class="nbHitsCovered"><a title="Line 329: Conditional coverage 100% (2/2)."> 26</a></td> <td class="src"><pre class="src"> <a title="Line 329: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (entry.hasStream()) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 330</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> header.writeInt(Integer.reverseBytes(entry.getCrc()));</pre></td></tr>
<tr> <td class="numLine"> 331</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 13</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 332</td> <td class="nbHitsCovered"> 26</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 333</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
-<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 5</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 334</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
+<tr> <td class="numLineCover"> 335</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 336</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 337</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeFolder(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
<tr> <td class="numLine"> 338</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// one coder</span></pre></td></tr>
-<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> writeUint64(header, 1);</pre></td></tr>
-<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] id = contentCompression.getId();</pre></td></tr>
-<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] properties = contentCompression.getProperties();</pre></td></tr>
+<tr> <td class="numLineCover"> 339</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> writeUint64(header, 1);</pre></td></tr>
+<tr> <td class="numLineCover"> 340</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] id = contentCompression.getId();</pre></td></tr>
+<tr> <td class="numLineCover"> 341</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">byte</span>[] properties = contentCompression.getProperties();</pre></td></tr>
<tr> <td class="numLine"> 342</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> <span class="keyword">int</span> codecFlags = id.length;</pre></td></tr>
-<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"><a title="Line 344: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 344: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (properties.length > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> codecFlags |= 0x20;</pre></td></tr>
+<tr> <td class="numLineCover"> 343</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> <span class="keyword">int</span> codecFlags = id.length;</pre></td></tr>
+<tr> <td class="numLineCover"> 344</td> <td class="nbHitsCovered"><a title="Line 344: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 344: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (properties.length > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 345</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> codecFlags |= 0x20;</pre></td></tr>
<tr> <td class="numLine"> 346</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(codecFlags);</pre></td></tr>
-<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> header.write(id);</pre></td></tr>
+<tr> <td class="numLineCover"> 347</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> header.write(codecFlags);</pre></td></tr>
+<tr> <td class="numLineCover"> 348</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> header.write(id);</pre></td></tr>
<tr> <td class="numLine"> 349</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 10</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (properties.length > 0) {</a></pre></td></tr>
-<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> header.write(properties.length);</pre></td></tr>
-<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 4</td> <td class="src"><pre class="src"> header.write(properties);</pre></td></tr>
+<tr> <td class="numLineCover"> 350</td> <td class="nbHitsCovered"><a title="Line 350: Conditional coverage 100% (2/2)."> 20</a></td> <td class="src"><pre class="src"> <a title="Line 350: Conditional coverage 100% (2/2)."> <span class="keyword">if</span> (properties.length > 0) {</a></pre></td></tr>
+<tr> <td class="numLineCover"> 351</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> header.write(properties.length);</pre></td></tr>
+<tr> <td class="numLineCover"> 352</td> <td class="nbHitsCovered"> 8</td> <td class="src"><pre class="src"> header.write(properties);</pre></td></tr>
<tr> <td class="numLine"> 353</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> }</pre></td></tr>
-<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 10</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 354</td> <td class="nbHitsCovered"> 20</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 355</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 356</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeSubStreamsInfo(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kSubStreamsInfo);</pre></td></tr>
+<tr> <td class="numLineCover"> 357</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kSubStreamsInfo);</pre></td></tr>
<tr> <td class="numLine"> 358</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// </span></pre></td></tr>
<tr> <td class="numLine"> 359</td> <td class="nbHits"> </td>
@@ -593,345 +593,345 @@
<td class="src"><pre class="src"> <span class="comment">// }</span></pre></td></tr>
<tr> <td class="numLine"> 366</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="comment">// </span></pre></td></tr>
-<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
-<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
+<tr> <td class="numLineCover"> 367</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kEnd);</pre></td></tr>
+<tr> <td class="numLineCover"> 368</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> }</pre></td></tr>
<tr> <td class="numLine"> 369</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
<tr> <td class="numLine"> 370</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> <span class="keyword">private</span> <span class="keyword">void</span> writeFilesInfo(<span class="keyword">final</span> DataOutput header) <span class="keyword">throws</span> IOException {</pre></td></tr>
-<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(NID.kFilesInfo);</pre></td></tr>
+<tr> <td class="numLineCover"> 371</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> header.write(NID.kFilesInfo);</pre></td></tr>
<tr> <td class="numLine"> 372</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 373</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeUint64(header, files.size());</pre></td></tr>
+<tr> <td class="numLineCover"> 373</td> <td class="nbHitsCovered"> 14</td> <td class="src"><pre class="src"> writeUint64(header, files.size());</pre></td></tr>
<tr> <td class="numLine"> 374</td> <td class="nbHits"> </td>
<td class="src"><pre class="src"> </pre></td></tr>
-<tr> <td class="numLineCover"> 375</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileEmptyStreams(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 376</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileEmptyFiles(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 377</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileAntiItems(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 378</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileNames(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 379</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileCTimes(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 380</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileATimes(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 381</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileMTimes(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 382</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> writeFileWindowsAttributes(header);</pre></td></tr>
-<tr> <td class="numLineCover"> 383</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> header.write(0);</pre></td></tr>
-<tr> <td class="numLineCover"> 384</td> <td class="nbHitsCovered"> 7</td> <td class="src"><pre class="src"> }</pre></td></tr>
[... 591 lines stripped ...]