EJBContainerInvocation inv = (EJBContainerInvocation) invocation;
//We need to do this every time to make sure we have interceptor instances corresponding
//to the bean instance
//TODO Cache this for non-stateful beans?
Object[] interceptors = inv.getBeanContext().getInterceptorInstances(interceptorInfos);
if (interceptors != null && interceptors.length == 0 && beanAroundInvokes != null && beanAroundInvokes.length == 0) return invocation.invokeNext();
InvocationContextImpl ctx = new InvocationContextImpl(inv, interceptorInfos, interceptors, beanAroundInvokes);
return ctx.proceed();