docs: public void actionMove() throws JspException {
  
          // save initialized instance of this class in request attribute for included sub-elements
          getJsp().getRequest().setAttribute(SESSION_WORKPLACE_CLASS, this);
          try {
              boolean isFolder = false;
              String source = getResourceList().get(0);
              String target = CmsLinkManager.getAbsoluteUri(getParamTarget(), CmsResource.getParentFolder(source));
              if (!isMultiOperation()) {
                  CmsResource resource = getCms().readResource(source, CmsResourceFilter.ALL);
                  isFolder = resource.isFolder();
              } else {
                  String siteRootFolder = null;
                  CmsResource resource;
                  try {
                      // check if a site root was added to the target name
                      if (OpenCms.getSiteManager().getSiteRoot(target) != null) {
                          siteRootFolder = getCms().getRequestContext().getSiteRoot();
                          if (siteRootFolder.endsWith("/")) {
                              siteRootFolder = siteRootFolder.substring(0, siteRootFolder.length() - 1);
                          }
                          getCms().getRequestContext().setSiteRoot("/");
                      }
                      resource = getCms().readResource(target, CmsResourceFilter.ALL);
                  } finally {
                      if (siteRootFolder != null) {
                          getCms().getRequestContext().setSiteRoot(siteRootFolder);
                      }
                  }
                  if (!resource.isFolder()) {
                      // no folder selected for multi operation, throw exception
                      throw new CmsVfsException(
                          Messages.get().container(Messages.ERR_MOVE_MULTI_TARGET_NOFOLDER_1, target));
                  }
              }
              if (performDialogOperation()) {
                  // if no exception is caused and "true" is returned move operation was successful
                  if (isMultiOperation() || isFolder) {
                      // set request attribute to reload the explorer tree view
                      List<String> folderList = new ArrayList<String>(2);
                      String sourceParent = CmsResource.getParentFolder(source);
                      folderList.add(sourceParent);
                      try {
                          String targetParent = CmsResource.getParentFolder(target);
                          if (!targetParent.equals(sourceParent)) {
                              // update target folder if its not the same as the source folder
                              folderList.add(targetParent);
                          }
                      } catch (Exception e) {
                          if (LOG.isInfoEnabled()) {
                              LOG.info(e);
                          }
                      }
                      getJsp().getRequest().setAttribute(REQUEST_ATTRIBUTE_RELOADTREE, folderList);
                  }
                  actionCloseDialog();
              } else {
                  // "false" returned, display "please wait" screen
                  getJsp().include(FILE_DIALOG_SCREEN_WAIT);
              }
          } catch (Throwable e) {
              // error during move, show error dialog
              includeErrorpage(this, e);
          }
      }