adding unwrap to ArthurExtension#Context
diff --git a/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java b/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java
index 3c84c20..076e791 100644
--- a/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java
+++ b/arthur-impl/src/main/java/org/apache/geronimo/arthur/impl/nativeimage/generator/DefautContext.java
@@ -87,6 +87,17 @@
         }
     }
 
+    @Override
+    public <T> T unwrap(final Class<T> type) {
+        if (ArthurNativeImageConfiguration.class == type) {
+            return type.cast(configuration);
+        }
+        if (type.isInstance(this)) {
+            return type.cast(this);
+        }
+        throw new IllegalArgumentException("Unsupported unwrapping: " + type);
+    }
+
     public void addReflectionConfigFile(final String path) {
         if (configuration.getReflectionConfigurationFiles() == null) {
             configuration.setReflectionConfigurationFiles(new ArrayList<>());
diff --git a/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java b/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java
index 376c5f1..34a28cf 100644
--- a/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java
+++ b/arthur-spi/src/main/java/org/apache/geronimo/arthur/spi/ArthurExtension.java
@@ -55,5 +55,7 @@
         void register(ResourceBundleModel resourceModel);
 
         void register(DynamicProxyModel dynamicProxyModel);
+
+        <T> T unwrap(Class<T> type);
     }
 }