Repository: quarkusio/quarkus
Issue: MappedByteBufferReplacement substitutions is obsolete in JDK16

## Describe the bug
Trying to build a simple Quarkus Native Image application with a JDK16 based GraalVM results in 
```
Error: Could not find target method: private void io.quarkus.runtime.graal.MappedByteBufferReplacement.force0(java.io.FileDescriptor,long,long)
com.oracle.svm.core.util.UserError$UserException: Could not find target method: private void io.quarkus.runtime.graal.MappedByteBufferReplacement.force0(java.io.FileDescriptor,long,long)
	at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.findOriginalMethod(AnnotationSubstitutionProcessor.java:734)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleMethodInAliasClass(AnnotationSubstitutionProcessor.java:366)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleAliasClass(AnnotationSubstitutionProcessor.java:338)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleClass(AnnotationSubstitutionProcessor.java:310)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.init(AnnotationSubstitutionProcessor.java:266)
	at com.oracle.svm.hosted.NativeImageGenerator.createDeclarativeSubstitutionProcessor(NativeImageGenerator.java:952)
	at com.oracle.svm.hosted.NativeImageGenerator.setupNativeImage(NativeImageGenerator.java:886)
	at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:578)
	at com.oracle.svm.hosted.NativeImageGenerator.lambda$run$2(NativeImageGenerator.java:493)
	at java.base/java.util.concurrent.ForkJoinTask$AdaptedRunnableAction.exec(ForkJoinTask.java:1414)
	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:295)
	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1016)
	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1665)
	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1598)
	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
```
The target method [`MappedByteBuffer.force0`](https://github.com/quarkusio/quarkus/blob/main/core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java#L13) has been removed in JDK16.

Note: A JDK16 GraalVM is not widely available yet, it must be built from source.

Changed files:
core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java

diff --git a/core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java b/core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java
index f98382534aa..4b8967faffb 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/graal/MappedByteBufferReplacement.java
@@ -5,8 +5,9 @@
 
 import com.oracle.svm.core.annotate.Substitute;
 import com.oracle.svm.core.annotate.TargetClass;
+import com.oracle.svm.core.jdk.JDK15OrEarlier;
 
-@TargetClass(MappedByteBuffer.class)
+@TargetClass(value = MappedByteBuffer.class, onlyWith = JDK15OrEarlier.class)
 final class MappedByteBufferReplacement {
 
     @Substitute