code: @Override
      protected boolean performDialogOperation() throws CmsException {
  
          // on folder touch or multi resource operation display "please wait" screen, not for simple file copy
          if (!DIALOG_WAIT.equals(getParamAction())) {
              // check if the "please wait" screen has to be shown
              if (isMultiOperation()) {
                  // show please wait for every multi resource operation
                  return false;
              } else {
                  // check if the single resource is a folder
                  CmsResource sourceRes = getCms().readResource(getParamResource(), CmsResourceFilter.ALL);
                  if (sourceRes.isFolder()) {
                      return false;
                  }
              }
          }
  
          // get the new timestamp for the resource(s) from request parameter
          long timeStamp = 0;
          boolean correctDate = false;
          try {
              if (CmsStringUtil.isNotEmpty(getParamNewtimestamp())) {
                  timeStamp = CmsCalendarWidget.getCalendarDate(getMessages(), getParamNewtimestamp(), true);
                  correctDate = true;
              }
          } catch (ParseException e) {
              throw new CmsException(Messages.get().container(Messages.ERR_PARSE_TIMESTAMP_1, getParamNewtimestamp()), e);
          }
  
          // get the flag if the touch is recursive from request parameter
          boolean touchRecursive = Boolean.valueOf(getParamRecursive()).booleanValue();
          // get the flag to the touch the content from request parameter
          boolean touchContent = Boolean.valueOf(getParamContent()).booleanValue();
  
          // now touch the resource(s)
          Iterator<String> i = getResourceList().iterator();
          while (i.hasNext()) {
              String resName = i.next();
              try {
                  // lock resource if autolock is enabled
                  checkLock(resName);
                  touchSingleResource(getCms(), resName, timeStamp, touchRecursive, correctDate, touchContent);
              } catch (CmsException e) {
                  // collect exceptions to create a detailed output
                  addMultiOperationException(e);
              }
          }
          checkMultiOperationException(Messages.get(), Messages.ERR_TOUCH_MULTI_0);
  
          return true;
      }
docs: Performs the resource touching.<p>
  
  @return true, if the resource was touched, otherwise false
  @throws CmsException if touching is not successful