* @param callback The callback to be invoked.
* @return The callback result.
*/
private <R> R process(FacesContext context, PhaseId phaseId, TreeModel node, Callback.Returning<R> callback) {
Object[] originalVars = captureOriginalVars(context);
TreeModel originalModelNode = currentModelNode;
pushComponentToEL(context, null);
try {
setCurrentModelNode(context, node);
return callback.invoke();