docs: protected void processRequest(HttpServletRequest request, HttpServletResponse response)
              throws ServletException, IOException {
          List<FileItem> items;
          // Parse the request
          try {
              items = upload.parseRequest(request);
          } catch (FileUploadException e) {
              throw new ServletException(e);
          }
  
          String repository = getParameter(items, REPOSITORY_NAME_PARAMETER);
          String incBinaries = getParameter(items, INCLUDE_BINARY_PARAMETER);
          String reindexOnFinish = getParameter(items, REINDEX_ON_FINISH_PARAMETER);
  
          RestoreParams params = new RestoreParams();
          params.setIncludeBinaries(Boolean.valueOf(incBinaries));
          params.setReindexOnFinish(Boolean.valueOf(reindexOnFinish));
          
          InputStream in = getStream(items);
  
          File dir = new File(tempDir.getAbsolutePath() + File.pathSeparator + 
                  Long.toString(System.currentTimeMillis()));
          
          FileUtil.unzip(in, dir.getAbsolutePath());
          Connector connector = (Connector) request.getSession().getAttribute(REPOSITORY_CONNECTOR);
  
          try {
              connector.find(repository).restore(dir.getAbsolutePath(), params);
          } catch (Exception e) {
              throw new ServletException(e);
          }
  
          String uri = request.getContextPath()
                  + String.format(DESTINATION_URL, repository);
          response.sendRedirect(uri);
      }