docs: public void reloadElementWithSettings(
          final org.opencms.ade.containerpage.client.ui.CmsContainerPageElementPanel elementWidget,
          final String clientId,
          final Map<String, String> settings,
          final I_CmsSimpleCallback<CmsContainerPageElementPanel> afterReloadAction) {
  
          final I_CmsSimpleCallback<CmsContainerElementData> callback = new I_CmsSimpleCallback<CmsContainerElementData>() {
  
              public void execute(CmsContainerElementData newElement) {
  
                  try {
                      final CmsContainerPageElementPanel replacement = replaceContainerElement(elementWidget, newElement);
                      resetEditButtons();
                      addToRecentList(newElement.getClientId(), null);
                      afterReloadAction.execute(replacement);
                  } catch (Exception e) {
                      // should never happen
                      CmsDebugLog.getInstance().printLine(e.getLocalizedMessage());
                  }
              }
          };
  
          if (!isGroupcontainerEditing()) {
  
              lockContainerpage(new I_CmsSimpleCallback<Boolean>() {
  
                  public void execute(Boolean arg) {
  
                      if (arg.booleanValue()) {
                          CmsRpcAction<CmsContainerElementData> action = new CmsRpcAction<CmsContainerElementData>() {
  
                              @Override
                              public void execute() {
  
                                  start(500, true);
                                  getContainerpageService().saveElementSettings(
                                      getData().getRpcContext(),
                                      getData().getDetailId(),
                                      getRequestParams(),
                                      clientId,
                                      settings,
                                      getPageState(),
                                      getLocale(),
                                      this);
                              }
  
                              @Override
                              protected void onResponse(CmsContainerElementData result) {
  
                                  stop(false);
                                  CmsContainerpageController.get().fireEvent(
                                      new CmsContainerpageEvent(EventType.pageSaved));
                                  setPageChanged(false, false);
                                  if (result != null) {
                                      // cache the loaded element
                                      m_elements.put(result.getClientId(), result);
                                      setLoadTime(Long.valueOf(result.getLoadTime()));
                                  }
                                  callback.execute(result);
                              }
                          };
                          action.execute();
                      }
                  }
              });
  
          } else {
              getElementWithSettings(clientId, settings, callback);
          }
      }