public void setEventPhase(FacesEvent event) { if (event instanceof ItemChangeEvent) { AbstractPanelMenuItem actItm = (AbstractPanelMenuItem) ((ItemChangeEvent) event).getNewItem(); if (isImmediate() || (actItm != null && actItm.isImmediate())) { event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES); } else if (actItm != null && actItm.isBypassUpdates()) { event.setPhaseId(PhaseId.PROCESS_VALIDATIONS); } else { event.setPhaseId(PhaseId.UPDATE_MODEL_VALUES); } } }