docs: public void openDialog(final CmsContainerPageElementPanel element, final boolean inline, boolean wasNew) {
  
          if (!inline && element.hasEditHandler()) {
              m_handler.m_controller.getEditOptions(
                  element.getId(),
                  false,
                  new I_CmsSimpleCallback<CmsDialogOptionsAndInfo>() {
  
                      public void execute(CmsDialogOptionsAndInfo editOptions) {
  
                          final I_CmsSimpleCallback<CmsUUID> editCallBack = new I_CmsSimpleCallback<CmsUUID>() {
  
                              public void execute(CmsUUID arg) {
  
                                  String contentId = element.getId();
                                  if (!element.getId().startsWith(arg.toString())) {
                                      // the content structure ID has changed, the current element needs to be replaced after editing
                                      m_replaceElement = element;
                                      contentId = arg.toString();
                                  }
                                  internalOpenDialog(element, contentId, inline, wasNew);
                              }
                          };
                          if (editOptions == null) {
                              internalOpenDialog(element, element.getId(), inline, wasNew);
                          } else if (editOptions.getOptions().getOptions().size() == 1) {
                              m_handler.m_controller.prepareForEdit(
                                  element.getId(),
                                  editOptions.getOptions().getOptions().get(0).getValue(),
                                  editCallBack);
                          } else {
                              CmsOptionDialog dialog = new CmsOptionDialog(
                                  Messages.get().key(Messages.GUI_EDIT_HANDLER_SELECT_EDIT_OPTION_0),
                                  editOptions.getOptions(),
                                  editOptions.getInfo(),
                                  new I_CmsSimpleCallback<String>() {
  
                                      public void execute(String arg) {
  
                                          m_handler.m_controller.prepareForEdit(element.getId(), arg, editCallBack);
                                      }
                                  });
                              dialog.addDialogClose(new Command() {
  
                                  public void execute() {
  
                                      cancelEdit();
                                  }
                              });
                              dialog.center();
                          }
                      }
                  });
          } else {
              internalOpenDialog(element, element.getId(), inline, wasNew);
          }
      }