// create a new interceptor invocation context whenever we invoke a method on a client proxy
// we use a try-catch block in order to make sure that endInterceptorContext() is invoked regardless whether
// the method has succeeded or not
final ExceptionHandler start = b.exceptionBlockStart(Throwable.class.getName());
b.invokestatic(INTERCEPTION_DECORATION_CONTEXT_CLASS_NAME, START_INTERCEPTOR_CONTEXT_METHOD_NAME, EMPTY_PARENTHESES + DescriptorUtils.VOID_CLASS_DESCRIPTOR);
if (useCache()) {
loadCacheableBeanInstance(classMethod.getClassFile(), methodInfo, b);
} else {