replace while loop with equivalent Arrays.fill
JMH benchmarks don't show any significant difference between the two
versions.
@@ -656,9 +656,9 @@ private void getAndMoveToFrontDecode() throws IOException {
final byte ch = seqToUnseq[yy0];
unzftab[ch & 0xff] += s + 1;
- while (s-- >= 0) {
- ll8[++lastShadow] = ch;
- }
+ final int from = ++lastShadow;
+ lastShadow += s;
+ Arrays.fill(ll8, from, lastShadow + 1, ch);
if (lastShadow >= limitLast) {
throw new IOException("block overrun while expanding RLE in MTF, "
