ClassLoader A = this.getClass().getClassLoader();
ClassLoader B = registry.getAddon(AddonId.from("B", "1")).getClassLoader();
ClassLoader C = registry.getAddon(AddonId.from("C", "1")).getClassLoader();
Class<?> typeAction1 = B.loadClass(Action1.class.getName());
Action action1 = getProxiedInstance(A, B, typeAction1);
Class<?> typePayload1 = C.loadClass(Payload1.class.getName());
Payload payload1 = getProxiedInstance(A, C, typePayload1);
Context context = new ContextImpl();
ContextValue<Payload> value = new ContextValueImpl<Payload>();
value.set(payload1);
context.set(value);
action1.handle(context);
}