@Override public void processEvent(SystemEvent event) throws AbortProcessingException {
  UIComponent root=(UIComponent)event.getSource();
  FacesContext jsf=FacesContext.getCurrentInstance();
  EnumSet<VisitHint> hints=EnumSet.of(VisitHint.SKIP_ITERATION);
  VisitContext visitContext=VisitContext.createVisitContext(jsf,null,hints);
  root.visitTree(visitContext,new ValidateFormNestingCallback());
}

@ Override public void processEvent ( SystemEvent event ) throws AbortProcessingException { UIComponent root = ( UIComponent ) event . getSource ( ) ; FacesContext jsf = FacesContext . getCurrentInstance ( ) ; EnumSet < VisitHint > hints = EnumSet . of ( VisitHint . SKIP_ITERATION ) ; VisitContext visitContext = VisitContext . createVisitContext ( jsf , null , hints ) ; root . visitTree ( visitContext , new ValidateFormNestingCallback ( ) ) ; }
process postaddtoviewevent on uiviewroot to validate form - action / input nesting .
