code: private static File extract(JarFile jar, JarEntry entry) throws IOException {
          // expand to temp dir and add to list
          File tempFile = File.createTempFile("liquibase.tmp", null);
          // read from jar and write to the tempJar file
          try (
                  BufferedInputStream inStream = new BufferedInputStream(jar.getInputStream(entry));
                  BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(tempFile))
          ) {
              int status;
              while ((status = inStream.read()) != -1) {
                  outStream.write(status);
              }
          }
  
          return tempFile;
      }
docs: Extract a single object from a JAR file into a temporary file.
  
  @param jar   the JAR file from which we will extract
  @param entry the object inside the JAR file that to be extracted
  @return a File object with the temporary file containing the extracted object
  @throws IOException if an I/O problem occurs