[ARIES-1787] Add around functionnality on object proxy
diff --git a/proxy/proxy-api/pom.xml b/proxy/proxy-api/pom.xml
index 2e058f6..d071fb4 100644
--- a/proxy/proxy-api/pom.xml
+++ b/proxy/proxy-api/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <groupId>org.apache.aries</groupId>
         <artifactId>parent</artifactId>
-        <version>2.0.0</version>
+        <version>2.1.0</version>
         <relativePath>../../parent/pom.xml</relativePath>
     </parent>
 
diff --git a/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationListener.java b/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationListener.java
index b319273..bf1447b 100644
--- a/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationListener.java
+++ b/proxy/proxy-api/src/main/java/org/apache/aries/proxy/InvocationListener.java
@@ -19,6 +19,7 @@
 package org.apache.aries.proxy;
 
 import java.lang.reflect.Method;
+import java.util.concurrent.Callable;
 
 /**
  * An {@link InvocationListener} is used in conjunction with the {@link ProxyManager}
@@ -31,4 +32,9 @@
   public void postInvoke(Object token, Object proxy, Method m, Object returnValue) throws Throwable;
   
   public void postInvokeExceptionalReturn(Object token, Object proxy, Method m, Throwable exception) throws Throwable;
+
+  default Object aroundInvoke(Object token, Object proxy, Callable<Object> dispatcher, Method method, Object[] args) throws Throwable {
+    return method.invoke(dispatcher.call(), args);
+  }
+
 }
\ No newline at end of file
diff --git a/proxy/proxy-impl/pom.xml b/proxy/proxy-impl/pom.xml
index 06f0da1..6d0bbfa 100644
--- a/proxy/proxy-impl/pom.xml
+++ b/proxy/proxy-impl/pom.xml
@@ -70,7 +70,7 @@
         <dependency>
             <groupId>org.apache.aries.proxy</groupId>
             <artifactId>org.apache.aries.proxy.api</artifactId>
-            <version>1.1.0</version>
+            <version>1.1.1-SNAPSHOT</version>
             <scope>provided</scope>
         </dependency>
         <dependency>
diff --git a/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyHandler.java b/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyHandler.java
index f4f89df..0241ff2 100644
--- a/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyHandler.java
+++ b/proxy/proxy-impl/src/main/java/org/apache/aries/proxy/impl/ProxyHandler.java
@@ -51,7 +51,7 @@
         try {
           token = nonNullListener.preInvoke(proxy, method, args);
           inInvoke = true;
-          result = method.invoke(target.call(), args);
+          result = nonNullListener.aroundInvoke(token, proxy, target, method, args);
           inInvoke = false;
           nonNullListener.postInvoke(token, proxy, method, result);