File fix_java_8_compatibility.patch of Package apache-commons-compress

diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java.p00	2022-12-12 23:13:26.447956561 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/BoundedSeekableByteChannelInputStream.java	2022-12-12 23:15:21.757438846 +0300
@@ -19,6 +19,7 @@ package org.apache.commons.compress.arch
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.SeekableByteChannel;
 
@@ -83,7 +84,7 @@ class BoundedSeekableByteChannelInputStr
         } else {
             buf = ByteBuffer.allocate(bytesToRead);
             bytesRead = channel.read(buf);
-            buf.flip();
+            ((Buffer)buf).flip();
         }
         if (bytesRead >= 0) {
             buf.get(b, off, bytesRead);
@@ -93,9 +94,9 @@ class BoundedSeekableByteChannelInputStr
     }
 
     private int read(final int len) throws IOException {
-        buffer.rewind().limit(len);
+        ((Buffer)buffer).rewind().limit(len);
         final int read = channel.read(buffer);
-        buffer.flip();
+        ((Buffer)buffer).flip();
         return read;
     }
 
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java.p00	2022-12-12 23:16:11.478077995 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZFile.java	2022-12-15 01:38:45.469979901 +0300
@@ -28,6 +28,7 @@ import java.io.File;
 import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.CharBuffer;
@@ -500,7 +501,7 @@ public class SevenZFile implements Close
         while (pos > minPos) {
             pos--;
             channel.position(pos);
-            nidBuf.rewind();
+            ((Buffer)nidBuf).rewind();
             if (channel.read(nidBuf) < 1) {
                 throw new EOFException();
             }
@@ -587,7 +588,7 @@ public class SevenZFile implements Close
         final int pos = header.position();
         final ArchiveStatistics stats = sanityCheckAndCollectStatistics(header);
         stats.assertValidity(options.getMaxMemoryLimitInKb());
-        header.position(pos);
+        ((Buffer)header).position(pos);
 
         int nid = getUnsignedByte(header);
 
@@ -675,7 +676,7 @@ public class SevenZFile implements Close
         final ArchiveStatistics stats = new ArchiveStatistics();
         sanityCheckStreamsInfo(header, stats);
         stats.assertValidity(options.getMaxMemoryLimitInKb());
-        header.position(pos);
+        ((Buffer)header).position(pos);
 
         readStreamsInfo(header, archive);
 
@@ -2009,14 +2010,14 @@ public class SevenZFile implements Close
         if (maxSkip < bytesToSkip) {
             bytesToSkip = maxSkip;
         }
-        input.position(current + (int) bytesToSkip);
+        ((Buffer)input).position(current + (int) bytesToSkip);
         return bytesToSkip;
     }
 
     private void readFully(final ByteBuffer buf) throws IOException {
-        buf.rewind();
+        ((Buffer)buf).rewind();
         IOUtils.readFully(channel, buf);
-        buf.flip();
+        ((Buffer)buf).flip();
     }
 
     @Override
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java.p00	2022-12-12 23:18:11.963626808 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/sevenz/SevenZOutputFile.java	2022-12-13 00:10:44.648210918 +0300
@@ -28,6 +28,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.channels.SeekableByteChannel;
@@ -338,7 +339,7 @@ public class SevenZOutputFile implements
         crc32.reset();
         crc32.update(bb.array(), SevenZFile.sevenZSignature.length + 6, 20);
         bb.putInt(SevenZFile.sevenZSignature.length + 2, (int) crc32.getValue());
-        bb.flip();
+        ((Buffer)bb).flip();
         channel.write(bb);
     }
 
@@ -817,8 +818,8 @@ public class SevenZOutputFile implements
         private final ByteBuffer buffer = ByteBuffer.allocate(BUF_SIZE);
         @Override
         public void write(final int b) throws IOException {
-            buffer.clear();
-            buffer.put((byte) b).flip();
+            ((Buffer)buffer).clear();
+            ((Buffer)buffer.put((byte) b)).flip();
             channel.write(buffer);
             compressedCrc32.update(b);
             fileBytesWritten++;
@@ -835,8 +836,8 @@ public class SevenZOutputFile implements
             if (len > BUF_SIZE) {
                 channel.write(ByteBuffer.wrap(b, off, len));
             } else {
-                buffer.clear();
-                buffer.put(b, off, len).flip();
+                ((Buffer)buffer).clear();
+                ((Buffer)buffer.put(b, off, len)).flip();
                 channel.write(buffer);
             }
             compressedCrc32.update(b, off, len);
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java.p00	2022-12-12 23:45:20.848573667 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarFile.java	2022-12-15 01:15:25.432331918 +0300
@@ -22,6 +22,7 @@ import java.io.Closeable;
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.SeekableByteChannel;
 import java.nio.file.Files;
@@ -606,7 +607,7 @@ public class TarFile implements Closeabl
      * @throws IOException if reading from the archive fails
      */
     private ByteBuffer readRecord() throws IOException {
-        recordBuffer.rewind();
+        ((Buffer)recordBuffer).rewind();
         final int readNow = archive.read(recordBuffer);
         if (readNow != recordSize) {
             return null;
@@ -685,7 +686,7 @@ public class TarFile implements Closeabl
 
             final int totalRead;
             if (entry.isSparse()) {
-                totalRead = readSparse(entryOffset, buf, buf.limit());
+                totalRead = readSparse(entryOffset, buf, ((Buffer)buf).limit());
             } else {
                 totalRead = readArchive(pos, buf);
             }
@@ -697,7 +698,7 @@ public class TarFile implements Closeabl
                 setAtEOF(true);
             } else {
                 entryOffset += totalRead;
-                buf.flip();
+                ((Buffer)buf).flip();
             }
             return totalRead;
         }
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java.p00	2022-12-15 01:15:50.348637811 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/tar/TarUtils.java	2022-12-15 01:16:34.229202420 +0300
@@ -29,6 +29,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.UncheckedIOException;
 import java.math.BigInteger;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.util.ArrayList;
@@ -407,10 +408,10 @@ public class TarUtils {
         throws IOException {
         int len = name.length();
         ByteBuffer b = encoding.encode(name);
-        while (b.limit() > length && len > 0) {
+        while (((Buffer)b).limit() > length && len > 0) {
             b = encoding.encode(name.substring(0, --len));
         }
-        final int limit = b.limit() - b.position();
+        final int limit = ((Buffer)b).limit() - ((Buffer)b).position();
         System.arraycopy(b.array(), b.arrayOffset(), buf, offset, limit);
 
         // Pad any remaining output bytes with NUL
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java.p00	2022-12-12 23:20:33.593446877 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/NioZipEncoding.java	2022-12-15 01:47:56.145002516 +0300
@@ -20,6 +20,7 @@
 package org.apache.commons.compress.archivers.zip;
 
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.Charset;
@@ -121,8 +122,8 @@ class NioZipEncoding implements ZipEncod
         enc.encode(cb, out, true);
         // may have caused underflow, but that's been ignored traditionally
 
-        out.limit(out.position());
-        out.rewind();
+        ((Buffer)out).limit(out.position());
+        ((Buffer)out).rewind();
         return out;
     }
 
@@ -149,7 +150,7 @@ class NioZipEncoding implements ZipEncod
     }
 
     private static CharBuffer encodeSurrogate(final CharBuffer cb, final char c) {
-        cb.position(0).limit(6);
+        ((Buffer)cb).position(0).limit(6);
         cb.put('%');
         cb.put('U');
 
@@ -157,7 +158,7 @@ class NioZipEncoding implements ZipEncod
         cb.put(HEX_CHARS[(c >> 8) & 0x0f]);
         cb.put(HEX_CHARS[(c >> 4) & 0x0f]);
         cb.put(HEX_CHARS[c & 0x0f]);
-        cb.flip();
+        ((Buffer)cb).flip();
         return cb;
     }
 
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java.p00	2022-12-12 23:21:58.954543489 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipArchiveInputStream.java	2022-12-15 01:23:13.450284161 +0300
@@ -30,6 +30,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.PushbackInputStream;
 import java.math.BigInteger;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 import java.util.Objects;
@@ -256,7 +257,7 @@ public class ZipArchiveInputStream exten
         this.allowStoredEntriesWithDataDescriptor = allowStoredEntriesWithDataDescriptor;
         this.skipSplitSig = skipSplitSig;
         // haven't read anything so far
-        buf.limit(0);
+        ((Buffer)buf).limit(0);
     }
 
     public ZipArchiveEntry getNextZipEntry() throws IOException {
@@ -592,13 +593,13 @@ public class ZipArchiveInputStream exten
         }
 
         if (buf.position() >= buf.limit()) {
-            buf.position(0);
+            ((Buffer)buf).position(0);
             final int l = inputStream.read(buf.array());
             if (l == -1) {
-                buf.limit(0);
+                ((Buffer)buf).limit(0);
                 throw new IOException("Truncated ZIP file");
             }
-            buf.limit(l);
+            ((Buffer)buf).limit(l);
 
             count(l);
             current.bytesReadFromStream += l;
@@ -791,7 +792,7 @@ public class ZipArchiveInputStream exten
         }
 
         inf.reset();
-        buf.clear().flip();
+        ((Buffer)buf).clear().flip();
         current = null;
         lastStoredEntry = null;
     }
@@ -856,7 +857,7 @@ public class ZipArchiveInputStream exten
         }
         final int length = inputStream.read(buf.array());
         if (length > 0) {
-            buf.limit(length);
+            ((Buffer)buf).limit(length);
             count(buf.limit());
             inf.setInput(buf.array(), 0, buf.limit());
         }
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java.p00	2022-12-12 23:24:39.192602020 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipEncodingHelper.java	2022-12-12 23:26:07.109731466 +0300
@@ -20,6 +20,7 @@ package org.apache.commons.compress.arch
 
 import static java.nio.charset.StandardCharsets.UTF_8;
 
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.nio.charset.UnsupportedCharsetException;
@@ -78,8 +79,8 @@ public abstract class ZipEncodingHelper
     }
 
     static ByteBuffer growBufferBy(final ByteBuffer buffer, final int increment) {
-        buffer.limit(buffer.position());
-        buffer.rewind();
+        ((Buffer)buffer).limit(buffer.position());
+        ((Buffer)buffer).rewind();
 
         final ByteBuffer on = ByteBuffer.allocate(buffer.capacity() + increment);
 
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java.p00	2022-12-12 23:26:30.066026381 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/archivers/zip/ZipFile.java	2022-12-12 23:36:07.765447926 +0300
@@ -31,6 +31,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.SequenceInputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.nio.channels.SeekableByteChannel;
@@ -782,7 +783,7 @@ public class ZipFile implements Closeabl
         positionAtCentralDirectory();
         centralDirectoryStartOffset = archive.position();
 
-        wordBbuf.rewind();
+        ((Buffer)wordBbuf).rewind();
         IOUtils.readFully(archive, wordBbuf);
         long sig = ZipLong.getValue(wordBuf);
 
@@ -793,7 +794,7 @@ public class ZipFile implements Closeabl
 
         while (sig == CFH_SIG) {
             readCentralDirectoryEntry(noUTF8Flag);
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             sig = ZipLong.getValue(wordBuf);
         }
@@ -812,7 +813,7 @@ public class ZipFile implements Closeabl
     private void
         readCentralDirectoryEntry(final Map<ZipArchiveEntry, NameAndComment> noUTF8Flag)
         throws IOException {
-        cfhBbuf.rewind();
+        ((Buffer)cfhBbuf).rewind();
         IOUtils.readFully(archive, cfhBbuf);
         int off = 0;
         final Entry ze = new Entry();
@@ -1167,7 +1168,7 @@ public class ZipFile implements Closeabl
             archive.position() > ZIP64_EOCDL_LENGTH;
         if (searchedForZip64EOCD) {
             archive.position(archive.position() - ZIP64_EOCDL_LENGTH);
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             found = Arrays.equals(ZipArchiveOutputStream.ZIP64_EOCD_LOC_SIG,
                                   wordBuf);
@@ -1195,11 +1196,11 @@ public class ZipFile implements Closeabl
     private void positionAtCentralDirectory64()
         throws IOException {
         if (isSplitZipArchive) {
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             final long diskNumberOfEOCD = ZipLong.getValue(wordBuf);
 
-            dwordBbuf.rewind();
+            ((Buffer)dwordBbuf).rewind();
             IOUtils.readFully(archive, dwordBbuf);
             final long relativeOffsetOfEOCD = ZipEightByteInteger.getLongValue(dwordBuf);
             ((ZipSplitReadOnlySeekableByteChannel) archive)
@@ -1207,12 +1208,12 @@ public class ZipFile implements Closeabl
         } else {
             skipBytes(ZIP64_EOCDL_LOCATOR_OFFSET
                     - WORD /* signature has already been read */);
-            dwordBbuf.rewind();
+            ((Buffer)dwordBbuf).rewind();
             IOUtils.readFully(archive, dwordBbuf);
             archive.position(ZipEightByteInteger.getLongValue(dwordBuf));
         }
 
-        wordBbuf.rewind();
+        ((Buffer)wordBbuf).rewind();
         IOUtils.readFully(archive, wordBbuf);
         if (!Arrays.equals(wordBuf, ZipArchiveOutputStream.ZIP64_EOCD_SIG)) {
             throw new ZipException("Archive's ZIP64 end of central "
@@ -1222,13 +1223,13 @@ public class ZipFile implements Closeabl
         if (isSplitZipArchive) {
             skipBytes(ZIP64_EOCD_CFD_DISK_OFFSET
                     - WORD /* signature has already been read */);
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             centralDirectoryStartDiskNumber = ZipLong.getValue(wordBuf);
 
             skipBytes(ZIP64_EOCD_CFD_LOCATOR_RELATIVE_OFFSET);
 
-            dwordBbuf.rewind();
+            ((Buffer)dwordBbuf).rewind();
             IOUtils.readFully(archive, dwordBbuf);
             centralDirectoryStartRelativeOffset = ZipEightByteInteger.getLongValue(dwordBuf);
             ((ZipSplitReadOnlySeekableByteChannel) archive)
@@ -1236,7 +1237,7 @@ public class ZipFile implements Closeabl
         } else {
             skipBytes(ZIP64_EOCD_CFD_LOCATOR_OFFSET
                     - WORD /* signature has already been read */);
-            dwordBbuf.rewind();
+            ((Buffer)dwordBbuf).rewind();
             IOUtils.readFully(archive, dwordBbuf);
             centralDirectoryStartDiskNumber = 0;
             centralDirectoryStartRelativeOffset = ZipEightByteInteger.getLongValue(dwordBuf);
@@ -1255,20 +1256,20 @@ public class ZipFile implements Closeabl
         throws IOException {
         if (isSplitZipArchive) {
             skipBytes(CFD_DISK_OFFSET);
-            shortBbuf.rewind();
+            ((Buffer)shortBbuf).rewind();
             IOUtils.readFully(archive, shortBbuf);
             centralDirectoryStartDiskNumber = ZipShort.getValue(shortBuf);
 
             skipBytes(CFD_LOCATOR_RELATIVE_OFFSET);
 
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             centralDirectoryStartRelativeOffset = ZipLong.getValue(wordBuf);
             ((ZipSplitReadOnlySeekableByteChannel) archive)
                 .position(centralDirectoryStartDiskNumber, centralDirectoryStartRelativeOffset);
         } else {
             skipBytes(CFD_LOCATOR_OFFSET);
-            wordBbuf.rewind();
+            ((Buffer)wordBbuf).rewind();
             IOUtils.readFully(archive, wordBbuf);
             centralDirectoryStartDiskNumber = 0;
             centralDirectoryStartRelativeOffset = ZipLong.getValue(wordBuf);
@@ -1305,9 +1306,9 @@ public class ZipFile implements Closeabl
             for (; off >= stopSearching; off--) {
                 archive.position(off);
                 try {
-                    wordBbuf.rewind();
+                    ((Buffer)wordBbuf).rewind();
                     IOUtils.readFully(archive, wordBbuf);
-                    wordBbuf.flip();
+                    ((Buffer)wordBbuf).flip();
                 } catch (final EOFException ex) { // NOSONAR
                     break;
                 }
@@ -1419,9 +1420,9 @@ public class ZipFile implements Closeabl
         } else {
             archive.position(offset + LFH_OFFSET_FOR_FILENAME_LENGTH);
         }
-        wordBbuf.rewind();
+        ((Buffer)wordBbuf).rewind();
         IOUtils.readFully(archive, wordBbuf);
-        wordBbuf.flip();
+        ((Buffer)wordBbuf).flip();
         wordBbuf.get(shortBuf);
         final int fileNameLen = ZipShort.getValue(shortBuf);
         wordBbuf.get(shortBuf);
@@ -1449,7 +1450,7 @@ public class ZipFile implements Closeabl
      */
     private boolean startsWithLocalFileHeader() throws IOException {
         archive.position(0);
-        wordBbuf.rewind();
+        ((Buffer)wordBbuf).rewind();
         IOUtils.readFully(archive, wordBbuf);
         return Arrays.equals(wordBuf, ZipArchiveOutputStream.LFH_SIG);
     }
@@ -1485,7 +1486,7 @@ public class ZipFile implements Closeabl
         @Override
         protected int read(final long pos, final ByteBuffer buf) throws IOException {
             final int read = archive.read(buf, pos);
-            buf.flip();
+            ((Buffer)buf).flip();
             return read;
         }
     }
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedArchiveInputStream.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedArchiveInputStream.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedArchiveInputStream.java.p00	2022-12-13 00:04:26.167333101 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedArchiveInputStream.java	2022-12-13 00:05:22.632060811 +0300
@@ -19,6 +19,7 @@ package org.apache.commons.compress.util
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 /**
@@ -55,7 +56,7 @@ public abstract class BoundedArchiveInpu
         if (singleByteBuffer == null) {
             singleByteBuffer = ByteBuffer.allocate(1);
         } else {
-            singleByteBuffer.rewind();
+            ((Buffer)singleByteBuffer).rewind();
         }
         int read = read(loc, singleByteBuffer);
         if (read < 1) {
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStream.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStream.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStream.java.p00	2022-12-12 23:44:15.871736428 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/BoundedSeekableByteChannelInputStream.java	2022-12-12 23:44:39.476040574 +0300
@@ -18,6 +18,7 @@
 package org.apache.commons.compress.utils;
 
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.SeekableByteChannel;
 
@@ -51,7 +52,7 @@ public class BoundedSeekableByteChannelI
             channel.position(pos);
             read = channel.read(buf);
         }
-        buf.flip();
+        ((Buffer)buf).flip();
         return read;
     }
 }
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java.p00	2022-12-12 23:06:08.038320885 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStream.java	2022-12-15 01:30:28.727622988 +0300
@@ -21,6 +21,7 @@ package org.apache.commons.compress.util
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.channels.ClosedChannelException;
@@ -88,7 +89,7 @@ public class FixedLengthBlockOutputStrea
     }
 
     private void writeBlock() throws IOException {
-        buffer.flip();
+        ((Buffer)buffer).flip();
         final int i = out.write(buffer);
         final boolean hasRemaining = buffer.hasRemaining();
         if (i != blockSize || hasRemaining) {
@@ -97,7 +98,7 @@ public class FixedLengthBlockOutputStrea
                     blockSize, i);
             throw new IOException(msg);
         }
-        buffer.clear();
+        ((Buffer)buffer).clear();
     }
 
     @Override
@@ -142,7 +143,7 @@ public class FixedLengthBlockOutputStrea
             // fill up the reset of buffer and write the block.
             if (buffer.position() != 0) {
                 final int n = buffer.remaining();
-                src.limit(src.position() + n);
+                ((Buffer)src).limit(src.position() + n);
                 buffer.put(src);
                 writeBlock();
                 srcLeft -= n;
@@ -150,12 +151,12 @@ public class FixedLengthBlockOutputStrea
             // whilst we have enough bytes in src for complete blocks,
             // write them directly from src without copying them to buffer
             while (srcLeft >= blockSize) {
-                src.limit(src.position() + blockSize);
+                ((Buffer)src).limit(src.position() + blockSize);
                 out.write(src);
                 srcLeft -= blockSize;
             }
             // copy any remaining bytes into buffer
-            src.limit(savedLimit);
+            ((Buffer)src).limit(savedLimit);
             buffer.put(src);
         }
         return srcRemaining;
@@ -242,7 +243,7 @@ public class FixedLengthBlockOutputStrea
                 final int pos = buffer.position();
                 final int len = buffer.limit() - pos;
                 out.write(buffer.array(), buffer.arrayOffset() + pos, len);
-                buffer.position(buffer.limit());
+                ((Buffer)buffer).position(buffer.limit());
                 return len;
             } catch (final IOException e) {
                 try {
diff -up commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java.p00 commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java
--- commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java.p00	2022-12-12 23:09:48.117149959 +0300
+++ commons-compress-1.22-src/src/main/java/org/apache/commons/compress/utils/IOUtils.java	2022-12-15 01:03:16.587474512 +0300
@@ -25,6 +25,7 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.ReadableByteChannel;
 import java.nio.file.Files;
@@ -372,13 +373,13 @@ public final class IOUtils {
         int read = 0;
         while (read < len) {
             // Make sure we never read more than len bytes
-            b.limit(Math.min(len - read, b.capacity()));
+            ((Buffer)b).limit(Math.min(len - read, b.capacity()));
             final int readNow = input.read(b);
             if (readNow <= 0) {
                 break;
             }
             output.write(b.array(), 0, readNow);
-            b.rewind();
+            ((Buffer)b).rewind();
             read += readNow;
         }
         return output.toByteArray();
diff -up commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java.p00 commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java
--- commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java.p00	2022-12-13 00:06:15.864746867 +0300
+++ commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/FixedLengthBlockOutputStreamTest.java	2022-12-13 00:06:40.661066438 +0300
@@ -31,6 +31,7 @@ import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.ClosedChannelException;
 import java.nio.channels.WritableByteChannel;
@@ -245,7 +246,7 @@ public class FixedLengthBlockOutputStrea
         final int len = msg.length;
         final ByteBuffer buf = ByteBuffer.allocate(len);
         buf.put(msg);
-        buf.flip();
+        ((Buffer)buf).flip();
         return buf;
     }
 
diff -up commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java.p00 commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java
--- commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java.p00	2022-12-13 00:07:12.513476948 +0300
+++ commons-compress-1.22-src/src/test/java/org/apache/commons/compress/utils/MultiReadOnlySeekableByteChannelTest.java	2022-12-13 00:11:27.792767861 +0300
@@ -22,6 +22,7 @@ import static java.nio.charset.StandardC
 import static org.junit.Assert.assertThrows;
 
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.ClosedChannelException;
 import java.nio.channels.NonWritableChannelException;
@@ -212,9 +213,9 @@ public class MultiReadOnlySeekableByteCh
         while (bytesRead != -1) {
             final int remaining = buf.remaining();
 
-            buf.flip();
+            ((Buffer)buf).flip();
             resultBuffer.put(buf);
-            buf.clear();
+            ((Buffer)buf).clear();
             bytesRead = channel.read(buf);
 
             // If this isn't the last read() then we expect the buf
@@ -230,7 +231,7 @@ public class MultiReadOnlySeekableByteCh
             }
         }
 
-        resultBuffer.flip();
+        ((Buffer)resultBuffer).flip();
         final byte[] arr = new byte[resultBuffer.remaining()];
         resultBuffer.get(arr);
         Assert.assertArrayEquals("readBufferSize " + readBufferSize, expected, arr);
openSUSE Build Service is sponsored by