@Override public void processEvent(ComponentSystemEvent postAddToViewEvent) throws AbortProcessingException { FacesContext facesContext = FacesContext.getCurrentInstance(); Example example = (Example) postAddToViewEvent.getComponent(); List<UIComponent> exampleChildren = example.getChildren(); Boolean renderedCheckbox = example.isRenderedCheckbox(); if ((renderedCheckbox != null) && renderedCheckbox && !facesContext.isProjectStage(ProjectStage.Production)) { Application application = facesContext.getApplication(); HtmlSelectBooleanCheckbox htmlSelectBooleanCheckbox = createHtmlBooleanCheckbox(application, facesContext, "#{showcaseModelBean.selectedComponent.rendered}"); AjaxBehavior ajaxBehavior = (AjaxBehavior) application.createBehavior(AjaxBehavior.BEHAVIOR_ID); List<String> renderIds = Arrays.asList(new String[] { "@form" }); ajaxBehavior.setRender(renderIds); htmlSelectBooleanCheckbox.addClientBehavior("valueChange", ajaxBehavior); htmlSelectBooleanCheckbox.setId("renderedCheckbox"); exampleChildren.add(htmlSelectBooleanCheckbox); addFacesAjaxResourceDependency(facesContext); } Boolean requiredCheckbox = example.isRequiredCheckbox(); if ((requiredCheckbox != null) && requiredCheckbox) { Application application = facesContext.getApplication(); HtmlSelectBooleanCheckbox htmlSelectBooleanCheckbox = createHtmlBooleanCheckbox(application, facesContext, "#{showcaseModelBean.selectedComponent.required}"); AjaxBehavior ajaxBehavior = (AjaxBehavior) application.createBehavior(AjaxBehavior.BEHAVIOR_ID); htmlSelectBooleanCheckbox.addClientBehavior("valueChange", ajaxBehavior); htmlSelectBooleanCheckbox.setId("requiredCheckbox"); exampleChildren.add(htmlSelectBooleanCheckbox); addFacesAjaxResourceDependency(facesContext); } }