code: protected void addFiles(List<String> fileNames) throws CmsImportExportException, IOException, SAXException {
  
          if (fileNames != null) {
              for (int i = 0; i < fileNames.size(); i++) {
                  String fileName = fileNames.get(i);
  
                  try {
                      CmsFile file = getCms().readFile(fileName, CmsResourceFilter.IGNORE_EXPIRATION);
                      if (!file.getState().isDeleted() && !CmsWorkplace.isTemporaryFile(file)) {
                          if (checkExportResource(fileName)) {
                              if (m_parameters.isRecursive()) {
                                  addParentFolders(fileName);
                              }
                              if (isInExportableProject(file)) {
                                  exportFile(file);
                              }
                          }
                      }
                  } catch (CmsImportExportException e) {
  
                      throw e;
                  } catch (CmsException e) {
                      if (e instanceof CmsVfsException) { // file not found
                          CmsMessageContainer message = Messages.get().container(
                              Messages.ERR_IMPORTEXPORT_ERROR_ADDING_FILE_1,
                              fileName);
                          if (LOG.isDebugEnabled()) {
                              LOG.debug(message.key(), e);
                          }
  
                          throw new CmsImportExportException(message, e);
                      }
                  }
              }
          }
      }
docs: Adds all files in fileNames to the manifest.xml file.<p>
  
  @param fileNames list of path Strings, e.g. <code>/folder/index.html</code>
  
  @throws CmsImportExportException if something goes wrong
  @throws IOException if a file could not be exported
  @throws SAXException if something goes wrong processing the manifest.xml