docs: private FormPanel createForm(
          String uploadUri,
          String targetFolder,
          boolean isRootPath,
          List<CmsFileInfo> filesToUpload,
          List<String> filesToUnzip) {
  
          // create a form using the POST method and multipart MIME encoding
          FormPanel form = new FormPanel();
          form.setAction(uploadUri);
          form.setEncoding(FormPanel.ENCODING_MULTIPART);
          form.setMethod(FormPanel.METHOD_POST);
          // create a panel that contains the file input fields and the target folder
          FlowPanel inputFieldsPanel = new FlowPanel();
          int count = 0;
          for (CmsFileInfo info : filesToUpload) {
              InputElement input = info.getInputElement();
              String fieldName = "file_" + count++;
              input.setName(fieldName);
              inputFieldsPanel.getElement().appendChild(input);
              addHiddenField(
                  inputFieldsPanel,
                  fieldName + I_CmsUploadConstants.UPLOAD_FILENAME_ENCODED_SUFFIX,
                  URL.encode(info.getOverrideFileName()));
          }
          for (String filename : filesToUnzip) {
              addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_UNZIP_FILES_FIELD_NAME, URL.encode(filename));
          }
          addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_TARGET_FOLDER_FIELD_NAME, targetFolder);
          addHiddenField(inputFieldsPanel, I_CmsUploadConstants.UPLOAD_IS_ROOT_PATH_FIELD_NAME, "" + isRootPath);
          form.setWidget(inputFieldsPanel);
          return form;
      }