this.componentView = componentView;
}
/** {@inheritDoc} */
public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable {
final Interceptor interceptor = interceptors.get(method);
if (interceptor == null) {
throw new NoSuchMethodError(method.toString());
}
final InterceptorContext context = new InterceptorContext();
// special location for original proxy
context.putPrivateData(Object.class, proxy);
context.putPrivateData(Component.class, componentView.getComponent());
context.putPrivateData(ComponentView.class, componentView);
instance.prepareInterceptorContext(context);
context.setParameters(args);
context.setMethod(method);
// setup the public context data
context.setContextData(new HashMap<String, Object>());
return interceptor.processInvocation(context);
}