private void handleAddCategoryDefinition() { String name = NLS.bind( PDEUIMessages.CategorySection_newCategoryName, Integer.toString(++newCategoryCounter)); while (categoryExists(name)) { name = NLS.bind( PDEUIMessages.CategorySection_newCategoryName, Integer.toString(++newCategoryCounter)); } String label = NLS.bind( PDEUIMessages.CategorySection_newCategoryLabel, Integer.toString(newCategoryCounter)); ISiteCategoryDefinition categoryDef = fModel.getFactory().createCategoryDefinition(); try { categoryDef.setName(name); categoryDef.setLabel(label); fModel.getSite().addCategoryDefinitions(new ISiteCategoryDefinition[] {categoryDef}); } catch (CoreException e) { PDEPlugin.logException(e); } fCategoryViewer.setSelection(new StructuredSelection(categoryDef), true); }