public void execute(Event<UICategorySelector> event) throws Exception {
   UICategorySelector selector = event.getSource();
   int page = Integer.parseInt(event.getRequestContext().getRequestParameter(OBJECTID));
   UIFormTableIteratorInputSet inputSet = selector.getChild(UIFormTableIteratorInputSet.class);
   inputSet.getUIFormPageIterator().setCurrentPage(page);
   selector.init();
   event.getRequestContext().addUIComponentToUpdateByAjax(selector);
 }
  public void init() throws Exception {
    UIFormTableIteratorInputSet uiTableInputSet =
        createUIComponent(UIFormTableIteratorInputSet.class, null, null);
    uiTableInputSet.setName(getClass().getSimpleName());
    uiTableInputSet.setId(getClass().getSimpleName());
    uiTableInputSet.setColumns(TABLE_COLUMNS);
    addChild(uiTableInputSet);

    UIFormInputSet uiInputSet;
    UICheckBoxInput checkBoxInput;
    UIFormInputInfo uiInfo;

    HTMLEntityEncoder encoder = HTMLEntityEncoder.getInstance();

    //
    ApplicationRegistryService appRegService =
        getApplicationComponent(ApplicationRegistryService.class);
    List<ApplicationCategory> categories = getAllCategories();
    List<UIFormInputSet> uiInputSetList = new ArrayList<UIFormInputSet>();
    for (ApplicationCategory category : categories) {
      uiInputSet = new UIFormInputSet(category.getName());
      boolean defaultValue = false;
      if (application != null) {
        String definitionName = application.getDisplayName().replace(' ', '_');
        defaultValue = appRegService.getApplication(category.getName(), definitionName) != null;
      }
      checkBoxInput = new UICheckBoxInput("category_" + category.getName(), null, defaultValue);
      checkBoxInput.setOnChange("SelectBox");
      uiInfo =
          new UIFormInputInfo("categoryName", null, encoder.encode(category.getDisplayName(true)));
      uiInputSet.addChild(checkBoxInput);
      uiInputSet.addChild(uiInfo);
      uiTableInputSet.addChild(uiInputSet);
      uiInputSetList.add(uiInputSet);
    }

    UIFormPageIterator uiIterator = uiTableInputSet.getChild(UIFormPageIterator.class);
    SerializablePageList<UIFormInputSet> pageList =
        new SerializablePageList<UIFormInputSet>(UIFormInputSet.class, uiInputSetList, 5);
    uiIterator.setPageList(pageList);
  }