File aqute-bnd-java8compat.patch of Package aqute-bnd.29040

--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferDataInput.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferDataInput.java	2021-10-18 07:58:03.359785670 +0200
@@ -2,6 +2,7 @@
 
 import java.io.DataInput;
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.Objects;
 
@@ -34,8 +35,8 @@
 	public ByteBuffer slice(int n) {
 		int limit = ranged(n);
 		ByteBuffer slice = bb.slice();
-		slice.limit(limit);
-		bb.position(bb.position() + limit);
+		((Buffer)slice).limit(limit);
+		((Buffer)bb).position(bb.position() + limit);
 		return slice;
 	}
 
@@ -52,7 +53,7 @@
 	@Override
 	public int skipBytes(int n) {
 		int skipped = ranged(n);
-		bb.position(bb.position() + skipped);
+		((Buffer)bb).position(bb.position() + skipped);
 		return skipped;
 	}
 
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferDataOutput.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferDataOutput.java	2021-10-18 08:02:40.545556492 +0200
@@ -4,6 +4,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.UTFDataFormatException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 public class ByteBufferDataOutput implements DataOutput {
@@ -19,7 +20,7 @@
 
 	public ByteBuffer toByteBuffer() {
 		ByteBuffer obb = bb.duplicate();
-		obb.flip();
+		((Buffer)obb).flip();
 		return obb;
 	}
 
@@ -41,7 +42,7 @@
 		if ((newCap - minCap) < 0) {
 			newCap = minCap;
 		}
-		obb.flip();
+		((Buffer)obb).flip();
 		return bb = ByteBuffer.allocate(newCap)
 			.put(obb);
 	}
@@ -78,7 +79,7 @@
 			byte[] buffer = obb.array();
 			for (int size, position; obb.hasRemaining()
 				&& (size = in.read(buffer, position = obb.position(), obb.remaining())) > 0;) {
-				obb.position(position + size);
+				((Buffer)obb).position(position + size);
 			}
 		} while (!obb.hasRemaining());
 	}
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferInputStream.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferInputStream.java	2021-10-18 08:00:48.472840427 +0200
@@ -1,13 +1,14 @@
 package aQute.lib.io;
 
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 public class ByteBufferInputStream extends InputStream {
 	private final ByteBuffer bb;
 
 	public ByteBufferInputStream(ByteBuffer buffer) {
-		buffer.mark();
+		((Buffer)buffer).mark();
 		bb = buffer;
 	}
 
@@ -44,7 +45,7 @@
 			return 0L;
 		}
 		int skipped = Math.min((int) n, bb.remaining());
-		bb.position(bb.position() + skipped);
+		((Buffer)bb).position(bb.position() + skipped);
 		return skipped;
 	}
 
@@ -55,17 +56,17 @@
 
 	@Override
 	public void close() {
-		bb.position(bb.limit());
+		((Buffer)bb).position(bb.limit());
 	}
 
 	@Override
 	public synchronized void mark(int readlimit) {
-		bb.mark();
+		((Buffer)bb).mark();
 	}
 
 	@Override
 	public synchronized void reset() {
-		bb.reset();
+		((Buffer)bb).reset();
 	}
 
 	@Override
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferOutputStream.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/ByteBufferOutputStream.java	2021-10-18 07:59:24.488303884 +0200
@@ -3,6 +3,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 public class ByteBufferOutputStream extends OutputStream {
@@ -18,7 +19,7 @@
 
 	public ByteBuffer toByteBuffer() {
 		ByteBuffer obb = bb.duplicate();
-		obb.flip();
+		((Buffer)obb).flip();
 		return obb;
 	}
 
@@ -40,7 +41,7 @@
 		if ((newCap - minCap) < 0) {
 			newCap = minCap;
 		}
-		obb.flip();
+		((Buffer)obb).flip();
 		return bb = ByteBuffer.allocate(newCap)
 			.put(obb);
 	}
@@ -77,7 +78,7 @@
 			byte[] buffer = obb.array();
 			for (int size, position; obb.hasRemaining()
 				&& (size = in.read(buffer, position = obb.position(), obb.remaining())) > 0;) {
-				obb.position(position + size);
+				((Buffer)obb).position(position + size);
 			}
 		} while (!obb.hasRemaining());
 	}
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/CharBufferReader.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/CharBufferReader.java	2021-10-18 08:09:03.356117231 +0200
@@ -1,13 +1,14 @@
 package aQute.lib.io;
 
 import java.io.Reader;
+import java.nio.Buffer;
 import java.nio.CharBuffer;
 
 public class CharBufferReader extends Reader {
 	private final CharBuffer cb;
 
 	public CharBufferReader(CharBuffer buffer) {
-		buffer.mark();
+		((Buffer)buffer).mark();
 		cb = buffer;
 	}
 
@@ -24,7 +25,7 @@
 
 	@Override
 	public void close() {
-		cb.position(cb.limit());
+		((Buffer)cb).position(cb.limit());
 	}
 
 	@Override
@@ -41,7 +42,7 @@
 			return 0L;
 		}
 		int skipped = Math.min((int) n, cb.remaining());
-		cb.position(cb.position() + skipped);
+		((Buffer)cb).position(cb.position() + skipped);
 		return skipped;
 	}
 
@@ -57,11 +58,11 @@
 
 	@Override
 	public void mark(int readAheadLimit) {
-		cb.mark();
+		((Buffer)cb).mark();
 	}
 
 	@Override
 	public void reset() {
-		cb.reset();
+		((Buffer)cb).reset();
 	}
 }
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/IO.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/io/IO.java	2021-10-18 08:32:23.545468242 +0200
@@ -25,6 +25,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.channels.Channels;
@@ -218,11 +219,11 @@
 		try {
 			ByteBuffer bb = ByteBuffer.allocateDirect(BUFFER_SIZE);
 			while (in.read(bb) > 0) {
-				bb.flip();
+				((Buffer)bb).flip();
 				out.write(bb);
 				bb.compact();
 			}
-			for (bb.flip(); bb.hasRemaining();) {
+			for (((Buffer)bb).flip(); bb.hasRemaining();) {
 				out.write(bb);
 			}
 			return out;
@@ -238,7 +239,7 @@
 				int offset = bb.arrayOffset();
 				for (int size, position; bb.hasRemaining()
 					&& (size = in.read(buffer, offset + (position = bb.position()), bb.remaining())) > 0;) {
-					bb.position(position + size);
+					((Buffer)bb).position(position + size);
 				}
 			} else {
 				int length = Math.min(bb.remaining(), BUFFER_SIZE);
@@ -275,7 +276,7 @@
 			bbout.write(bb);
 		} else if (bb.hasArray()) {
 			out.write(bb.array(), bb.arrayOffset() + bb.position(), bb.remaining());
-			bb.position(bb.limit());
+			((Buffer)bb).position(bb.limit());
 		} else {
 			int length = Math.min(bb.remaining(), BUFFER_SIZE);
 			byte[] buffer = new byte[length];
@@ -294,7 +295,7 @@
 			bbout.write(bb);
 		} else if (bb.hasArray()) {
 			out.write(bb.array(), bb.arrayOffset() + bb.position(), bb.remaining());
-			bb.position(bb.limit());
+			((Buffer)bb).position(bb.limit());
 		} else {
 			int length = Math.min(bb.remaining(), BUFFER_SIZE);
 			byte[] buffer = new byte[length];
@@ -339,7 +340,7 @@
 		try {
 			ByteBuffer bb = ByteBuffer.allocate(BUFFER_SIZE);
 			while (in.read(bb) > 0) {
-				bb.flip();
+				((Buffer)bb).flip();
 				md.update(bb);
 				bb.compact();
 			}
@@ -472,12 +473,12 @@
 			ByteBuffer bb = ByteBuffer.allocate(BUFFER_SIZE);
 			byte[] buffer = bb.array();
 			for (int size, position; (size = in.read(buffer, position = bb.position(), bb.remaining())) > 0;) {
-				bb.position(position + size);
-				bb.flip();
+				((Buffer)bb).position(position + size);
+				((Buffer)bb).flip();
 				out.write(bb);
 				bb.compact();
 			}
-			for (bb.flip(); bb.hasRemaining();) {
+			for (((Buffer)bb).flip(); bb.hasRemaining();) {
 				out.write(bb);
 			}
 			return out;
@@ -490,7 +491,7 @@
 		try {
 			ByteBuffer bb = ByteBuffer.allocate(BUFFER_SIZE);
 			byte[] buffer = bb.array();
-			for (; in.read(bb) > 0; bb.clear()) {
+			for (; in.read(bb) > 0; ((Buffer)bb).clear()) {
 				out.write(buffer, 0, bb.position());
 			}
 			return out;
@@ -515,7 +516,7 @@
 			}
 			ByteBuffer bb = ByteBuffer.allocate((int) size);
 			while (in.read(bb) > 0) {}
-			bb.flip();
+			((Buffer)bb).flip();
 			return bb;
 		}
 	}
--- bnd-5.1.1.REL/aQute.libg/src/aQute/lib/utf8properties/UTF8Properties.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/src/aQute/lib/utf8properties/UTF8Properties.java	2021-10-18 08:04:01.910076369 +0200
@@ -10,6 +10,7 @@
 import java.io.Reader;
 import java.io.StringWriter;
 import java.io.Writer;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.CharBuffer;
 import java.nio.charset.CharsetDecoder;
@@ -120,11 +121,11 @@
 			}
 			decoder.reset();
 			if (success) {
-				return cb.flip()
+				return ((Buffer)cb).flip()
 					.toString();
 			}
-			bb.rewind();
-			cb.clear();
+			((Buffer)bb).rewind();
+			((Buffer)cb).clear();
 		}
 		return new String(buffer); // default decoding
 	}
--- bnd-5.1.1.REL/aQute.libg/test/aQute/lib/io/IOTest.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/aQute.libg/test/aQute/lib/io/IOTest.java	2021-10-18 07:51:55.341414987 +0200
@@ -13,6 +13,7 @@
 import java.io.InputStream;
 import java.io.Writer;
 import java.lang.reflect.Method;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.file.Files;
 import java.nio.file.Path;
@@ -135,7 +136,7 @@
 		assertEquals((int) src.length(), bb.position());
 		assertEquals(bb.capacity(), bb.position());
 		assertFalse(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -149,7 +150,7 @@
 		ByteBuffer bb = IO.copy(IO.stream(src), ByteBuffer.allocate((int) src.length() - 8));
 		assertEquals(bb.capacity(), bb.position());
 		assertFalse(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -163,7 +164,7 @@
 		ByteBuffer bb = IO.copy(IO.stream(src), ByteBuffer.allocate((int) src.length() + 20));
 		assertEquals((int) src.length(), bb.position());
 		assertTrue(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -178,7 +179,7 @@
 		assertEquals((int) src.length(), bb.position());
 		assertEquals(bb.capacity(), bb.position());
 		assertFalse(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -192,7 +193,7 @@
 		ByteBuffer bb = IO.copy(IO.stream(src), ByteBuffer.allocateDirect((int) src.length() - 8));
 		assertEquals(bb.capacity(), bb.position());
 		assertFalse(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -206,7 +207,7 @@
 		ByteBuffer bb = IO.copy(IO.stream(src), ByteBuffer.allocateDirect((int) src.length() + 20));
 		assertEquals((int) src.length(), bb.position());
 		assertTrue(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -220,7 +221,7 @@
 		ByteBuffer bb = IO.copy(IO.stream(src), ByteBuffer.allocateDirect(IOConstants.PAGE_SIZE * 32));
 		assertEquals((int) src.length(), bb.position());
 		assertTrue(bb.hasRemaining());
-		bb.flip();
+		((Buffer)bb).flip();
 		int length = bb.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], bb.get());
@@ -243,7 +244,7 @@
 		for (int i = 1; i < length; i++) {
 			assertEquals(file[i - 1], wrapped[i]);
 		}
-		slice.flip();
+		((Buffer)slice).flip();
 		length = slice.remaining();
 		for (int i = 0; i < length; i++) {
 			assertEquals(file[i], slice.get());
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/CodeAttribute.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/CodeAttribute.java	2021-10-18 07:43:59.698276751 +0200
@@ -3,6 +3,7 @@
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.Arrays;
 
@@ -58,7 +59,7 @@
 		out.writeShort(max_stack);
 		out.writeShort(max_locals);
 		ByteBuffer duplicate = code.duplicate();
-		duplicate.rewind();
+		((Buffer)duplicate).rewind();
 		int code_length = duplicate.limit();
 		out.writeInt(code_length);
 		IO.copy(duplicate, out);
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/SourceDebugExtensionAttribute.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/SourceDebugExtensionAttribute.java	2021-10-18 07:46:56.515450094 +0200
@@ -3,6 +3,7 @@
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 import aQute.lib.io.IO;
@@ -40,7 +41,7 @@
 		out.writeShort(attribute_name_index);
 		out.writeInt(attribute_length);
 		ByteBuffer duplicate = debug_extension.duplicate();
-		duplicate.rewind();
+		((Buffer)duplicate).rewind();
 		IO.copy(duplicate, out);
 	}
 
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/UnrecognizedAttribute.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/classfile/UnrecognizedAttribute.java	2021-10-18 08:14:58.714562788 +0200
@@ -3,6 +3,7 @@
 import java.io.DataInput;
 import java.io.DataOutput;
 import java.io.IOException;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 
 import aQute.lib.io.IO;
@@ -41,7 +42,7 @@
 		out.writeShort(attribute_name_index);
 		out.writeInt(attribute_length);
 		ByteBuffer duplicate = value.duplicate();
-		duplicate.rewind();
+		((Buffer)duplicate).rewind();
 		IO.copy(duplicate, out);
 	}
 
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/Clazz.java	2021-10-18 07:36:37.475442949 +0200
@@ -23,6 +23,7 @@
 import java.io.InputStream;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.reflect.Modifier;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.ArrayDeque;
 import java.util.Arrays;
@@ -1201,7 +1202,7 @@
 
 	private void processCode(CodeAttribute attribute, ElementType elementType) {
 		ByteBuffer code = attribute.code.duplicate();
-		code.rewind();
+		((Buffer)code).rewind();
 		int lastReference = -1;
 		while (code.hasRemaining()) {
 			int instruction = Byte.toUnsignedInt(code.get());
@@ -1248,7 +1249,7 @@
 				}
 				case OpCodes.wide : {
 					int opcode = Byte.toUnsignedInt(code.get());
-					code.position(code.position() + (opcode == OpCodes.iinc ? 4 : 2));
+					((Buffer)code).position(code.position() + (opcode == OpCodes.iinc ? 4 : 2));
 					lastReference = -1;
 					break;
 				}
@@ -1256,12 +1257,12 @@
 					// Skip to place divisible by 4
 					int rem = code.position() % 4;
 					if (rem != 0) {
-						code.position(code.position() + 4 - rem);
+						((Buffer)code).position(code.position() + 4 - rem);
 					}
 					int deflt = code.getInt();
 					int low = code.getInt();
 					int high = code.getInt();
-					code.position(code.position() + (high - low + 1) * 4);
+					((Buffer)code).position(code.position() + (high - low + 1) * 4);
 					lastReference = -1;
 					break;
 				}
@@ -1269,16 +1270,16 @@
 					// Skip to place divisible by 4
 					int rem = code.position() % 4;
 					if (rem != 0) {
-						code.position(code.position() + 4 - rem);
+						((Buffer)code).position(code.position() + 4 - rem);
 					}
 					int deflt = code.getInt();
 					int npairs = code.getInt();
-					code.position(code.position() + npairs * 8);
+					((Buffer)code).position(code.position() + npairs * 8);
 					lastReference = -1;
 					break;
 				}
 				default : {
-					code.position(code.position() + OpCodes.OFFSETS[instruction]);
+					((Buffer)code).position(code.position() + OpCodes.OFFSETS[instruction]);
 					lastReference = -1;
 					break;
 				}
@@ -1292,7 +1293,7 @@
 
 	private void visitCode(ClassDataCollector cd, CodeAttribute attribute, ElementType elementType) throws Exception {
 		ByteBuffer code = attribute.code.duplicate();
-		code.rewind();
+		((Buffer)code).rewind();
 		while (code.hasRemaining()) {
 			int instruction = Byte.toUnsignedInt(code.get());
 			switch (instruction) {
@@ -1309,7 +1310,7 @@
 				case OpCodes.invokeinterface : {
 					int method_ref_index = Short.toUnsignedInt(code.getShort());
 					visitReferenceMethod(cd, method_ref_index);
-					code.position(code.position() + 2);
+					((Buffer)code).position(code.position() + 2);
 					break;
 				}
 				case OpCodes.invokestatic : {
@@ -1319,34 +1320,34 @@
 				}
 				case OpCodes.wide : {
 					int opcode = Byte.toUnsignedInt(code.get());
-					code.position(code.position() + (opcode == OpCodes.iinc ? 4 : 2));
+					((Buffer)code).position(code.position() + (opcode == OpCodes.iinc ? 4 : 2));
 					break;
 				}
 				case OpCodes.tableswitch : {
 					// Skip to place divisible by 4
 					int rem = code.position() % 4;
 					if (rem != 0) {
-						code.position(code.position() + 4 - rem);
+						((Buffer)code).position(code.position() + 4 - rem);
 					}
 					int deflt = code.getInt();
 					int low = code.getInt();
 					int high = code.getInt();
-					code.position(code.position() + (high - low + 1) * 4);
+					((Buffer)code).position(code.position() + (high - low + 1) * 4);
 					break;
 				}
 				case OpCodes.lookupswitch : {
 					// Skip to place divisible by 4
 					int rem = code.position() % 4;
 					if (rem != 0) {
-						code.position(code.position() + 4 - rem);
+						((Buffer)code).position(code.position() + 4 - rem);
 					}
 					int deflt = code.getInt();
 					int npairs = code.getInt();
-					code.position(code.position() + npairs * 8);
+					((Buffer)code).position(code.position() + npairs * 8);
 					break;
 				}
 				default : {
-					code.position(code.position() + OpCodes.OFFSETS[instruction]);
+					((Buffer)code).position(code.position() + OpCodes.OFFSETS[instruction]);
 					break;
 				}
 			}
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java	2021-10-18 07:40:21.304848650 +0200
@@ -13,6 +13,7 @@
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URI;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.file.FileVisitOption;
 import java.nio.file.FileVisitResult;
@@ -1106,7 +1107,7 @@
 			if ((bb != null) && bb.hasArray()) {
 				for (MessageDigest d : digests) {
 					d.update(bb);
-					bb.flip();
+					((Buffer)bb).flip();
 				}
 			} else {
 				try (InputStream in = r.openInputStream()) {
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/URLResource.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/URLResource.java	2021-10-18 07:39:12.944410885 +0200
@@ -7,6 +7,7 @@
 import java.net.MalformedURLException;
 import java.net.URL;
 import java.net.URLConnection;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.util.jar.JarFile;
 
@@ -48,7 +49,7 @@
 			return buffer = ByteBuffer.wrap(IO.read(in));
 		}
 		ByteBuffer bb = IO.copy(in, ByteBuffer.allocate(size));
-		bb.flip();
+		((Buffer)bb).flip();
 		return buffer = bb;
 	}
 
--- bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/ZipResource.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.bndlib/src/aQute/bnd/osgi/ZipResource.java	2021-10-18 07:37:53.975919239 +0200
@@ -6,6 +6,7 @@
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.file.Path;
 import java.util.zip.ZipEntry;
@@ -64,7 +65,7 @@
 			return buffer = ByteBuffer.wrap(IO.read(zip.getInputStream(entry)));
 		}
 		ByteBuffer bb = IO.copy(zip.getInputStream(entry), ByteBuffer.allocate((int) size));
-		bb.flip();
+		((Buffer)bb).flip();
 		return buffer = bb;
 	}
 
--- bnd-5.1.1.REL/biz.aQute.repository/src/aQute/maven/provider/POM.java	2020-06-16 23:03:04.000000000 +0200
+++ bnd-5.1.1.REL/biz.aQute.repository/src/aQute/maven/provider/POM.java	2021-10-18 07:49:09.756330007 +0200
@@ -3,6 +3,7 @@
 import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.Buffer;
 import java.nio.ByteBuffer;
 import java.nio.channels.FileChannel;
 import java.nio.charset.StandardCharsets;
@@ -147,7 +148,7 @@
 		try (FileChannel in = IO.readChannel(file.toPath())) {
 			ByteBuffer bb = ByteBuffer.allocate((int) in.size());
 			while (in.read(bb) > 0) {}
-			bb.flip();
+			((Buffer)bb).flip();
 			return processEntities(bb);
 		}
 	}
openSUSE Build Service is sponsored by