docs: public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException {
      FileOutputStream fos = null;
      try {
        File tmpFile;
        if (tmpDirFile == null) {
      	  tmpFile = File.createTempFile(name, '.' + ext);
        } else {
          tmpFile = File.createTempFile(name, '.' + ext, tmpDirFile);
        }
        tmpFile.deleteOnExit();
        fos = new FileOutputStream(tmpFile);
        int read = 0;
        byte[] bytes = new byte[1024 * 100];
        while ((read = inputStream.read(bytes)) != -1) {
          fos.write(bytes, 0, read);
        }
        fos.flush();
        return tmpFile;
      } finally {
        if (inputStream != null) {
          try {
            inputStream.close();
          } catch (IOException e) {
          }
        }
        if (fos != null) {
          try {
            fos.close();
          } catch (IOException e) {
          }
        }
      }
    }