Java calls are currently performed synchronously.
If the Java method returns a CompletableFuture, we delegate the async handling to it, but if the method returns anything else, it is synchronous.
Now that we have the ability of finding out the signature of the java method, we can asynchonously run all methods that do not return completablefuture by themselves.
This will be particularly useful for agent calls.