code: private void showHistoricVersion() {
  
          String resourceStr = getParamResource();
          byte[] result = getHistoricalResourceContent(getCms(), resourceStr, getParamVersion());
          if (result != null) {
              // get the top level response to change the content type
              String contentType = OpenCms.getResourceManager().getMimeType(
                  resourceStr,
                  getCms().getRequestContext().getEncoding());
  
              HttpServletResponse res = getJsp().getResponse();
              HttpServletRequest req = getJsp().getRequest();
  
              res.setHeader(
                  CmsRequestUtil.HEADER_CONTENT_DISPOSITION,
                  new StringBuffer("attachment; filename=\"").append(resourceStr).append("\"").toString());
              res.setContentLength(result.length);
  
              CmsFlexController controller = CmsFlexController.getController(req);
              res = controller.getTopResponse();
              res.setContentType(contentType);
  
              try {
                  res.getOutputStream().write(result);
                  res.getOutputStream().flush();
              } catch (IOException e) {
                  // can usually be ignored
                  if (LOG.isInfoEnabled()) {
                      LOG.info(e.getLocalizedMessage());
                  }
              }
          }
      }
docs: Displays the requested historic version of the resource.<p>