code: public static void askForNewCategoryInfo(CmsUUID parentId, final AsyncCallback<CmsCategoryTitleAndName> callback) {
  
          CmsSitemapCategoryData categoryData = CmsSitemapView.getInstance().getController().getCategoryData();
  
          CmsCategoryTreeEntry entry = categoryData.getEntryById(parentId);
          String caption;
          if (entry == null) {
              caption = Messages.get().key(Messages.GUI_SITEMAP_CREATE_CATEGORY_TITLE_0);
          } else {
              caption = Messages.get().key(Messages.GUI_SITEMAP_CREATE_SUBCATEGORY_TITLE_1, entry.getPath());
          }
          CmsFormDialog dlg = new CmsFormDialog(caption, new CmsForm(true));
          dlg.setWidth(CmsPopup.DEFAULT_WIDTH);
          CmsDialogFormHandler fh = new CmsDialogFormHandler();
          fh.setSubmitHandler(new I_CmsFormSubmitHandler() {
  
              public void onSubmitForm(CmsForm form, Map<String, String> fieldValues, Set<String> editedFields) {
  
                  String title = fieldValues.get("title");
                  String name = fieldValues.get("name");
                  callback.onSuccess(new CmsCategoryTitleAndName(title, name));
  
              }
          });
  
          dlg.setFormHandler(fh);
          fh.setDialog(dlg);
          String nameLabel = Messages.get().key(Messages.GUI_CATEGORY_NAME_LABEL_0);
          String titleLabel = Messages.get().key(Messages.GUI_CATEGORY_TITLE_LABEL_0);
          dlg.getForm().addField(CmsBasicFormField.createField(createBasicStringProperty("title", titleLabel)), "");
          dlg.getForm().addField(CmsBasicFormField.createField(createBasicStringProperty("name", nameLabel)), "");
          dlg.getForm().render();
          dlg.center();
  
      }
docs: Asks the user for a new category's name and title.<p>
  
  @param parentId the parent category
  @param callback the callback to call with the user-supplied information