ComponentContextManager ctxMgr = RequestContext.getCurrentInstance()
.getComponentContextManager();
// Suspend any current component context during an invoke on component call for re-entrant
// component tree processing
SuspendedContextChanges suspendedChanges = ctxMgr.suspend(facesContext);
try
{
return super.invokeOnComponent(facesContext, clientId, callback);
}