Repository: quarkusio/quarkus
Issue: [native-image] integration-tests/amazon-lambda-rest, UserException: Annotated class must be final

### Describe the bug

Both `Quarkus 2.2.0.Final` and a contemporary main (head 94ae125) fail `integration-tests/amazon-lambda-rest` regardless of the native-image distribution, being it `21.3.0-devd63e6aab07 Mandrel Distribution (Java Version 11.0.13-ea+3)`, or `GraalVM Version 20.3.2 (Java Version 11.0.11+8-jvmci-20.3-b15)` or `GraalVM 21.2.0 Java 11 CE (Java Version 11.0.12+6-jvmci-21.2-b08)` with this at build time:

```bash
native-image -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Duser.country=US -J-Dfile.encoding=UTF-8 -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http -H:NativeLinkerOption=-no-pie -H:-UseServiceLoaderFeature -H:+StackTrace -H:-ParseOnce quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner -jar quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner.jar
[quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner:101012]    classlist:   1,981.69 ms,  1.19 GB
[quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner:101012]        setup:     462.45 ms,  1.19 GB
Error: Annotated class must be final: class io.quarkus.amazon.lambda.http.graal.LambdaContainerHandlerSubstitution
com.oracle.svm.core.util.UserError$UserException: Annotated class must be final: class io.quarkus.amazon.lambda.http.graal.LambdaContainerHandlerSubstitution
	at com.oracle.svm.core.util.UserError.abort(UserError.java:68)
	at com.oracle.svm.core.util.UserError.guarantee(UserError.java:96)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.handleClass(AnnotationSubstitutionProcessor.java:280)
	at com.oracle.svm.hosted.substitute.AnnotationSubstitutionProcessor.init(AnnotationSubstitutionProcessor.java:266)
	at com.oracle.svm.hosted.NativeImageGenerator.createDeclarativeSubstitutionProcessor(NativeImageGenerator.java:936)
	at com.oracle.svm.hosted.NativeImageGenerator.setupNativeImage(NativeImageGenerator.java:868)
	at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:530)
	at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:491)
	at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:380)
	at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:543)
	at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:119)
	at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:573)
[quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner:101012]      [total]:   2,489.69 ms,  1.19 GB
# Printing build artifacts to: /home/karm/workspaceRH/quarkus/integration-tests/amazon-lambda-rest/target/quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-native-image-source-jar/quarkus-integration-test-amazon-lambda-rest-999-SNAPSHOT-runner.build_artifacts.txt
Error: Image build request failed with exit status 1
```


### Expected behavior

_No response_

### Actual behavior

_No response_

### How to Reproduce?

_No response_

### Output of `uname -a` or `ver`

_No response_

### Output of `java -version`

_No response_

### GraalVM version (if different from Java)

_No response_

### Quarkus version or git rev

_No response_

### Build tool (ie. output of `mvnw --version` or `gradlew --version`)

_No response_

### Additional information

_No response_

Changed files:
extensions/amazon-lambda-rest/runtime/src/main/java/io/quarkus/amazon/lambda/http/graal/LambdaContainerHandlerSubstitution.java

diff --git a/extensions/amazon-lambda-rest/runtime/src/main/java/io/quarkus/amazon/lambda/http/graal/LambdaContainerHandlerSubstitution.java b/extensions/amazon-lambda-rest/runtime/src/main/java/io/quarkus/amazon/lambda/http/graal/LambdaContainerHandlerSubstitution.java
index e2f2ede5795..d1c9ffebdd1 100644
--- a/extensions/amazon-lambda-rest/runtime/src/main/java/io/quarkus/amazon/lambda/http/graal/LambdaContainerHandlerSubstitution.java
+++ b/extensions/amazon-lambda-rest/runtime/src/main/java/io/quarkus/amazon/lambda/http/graal/LambdaContainerHandlerSubstitution.java
@@ -5,7 +5,7 @@
 import com.oracle.svm.core.annotate.TargetClass;
 
 @TargetClass(LambdaContainerHandler.class)
-public class LambdaContainerHandlerSubstitution {
+public final class LambdaContainerHandlerSubstitution {
 
     // afterburner does not work in native mode, so let's ensure it's never registered
     @Substitute