static URL[] saveFilesLocally(String driverJars) {
    List<String> listOfJarPaths = Splitter.on(',').trimResults().splitToList(driverJars);

    final String destRoot = Files.createTempDir().getAbsolutePath();
    List<URL> driverJarUrls = new ArrayList<>();
    listOfJarPaths.stream()
        .forEach(
            jarPath -> {
              try {
                ResourceId sourceResourceId = FileSystems.matchNewResource(jarPath, false);
                @SuppressWarnings("nullness")
                File destFile = Paths.get(destRoot, sourceResourceId.getFilename()).toFile();
                ResourceId destResourceId =
                    FileSystems.matchNewResource(destFile.getAbsolutePath(), false);
                copy(sourceResourceId, destResourceId);
                LOG.info("Localized jar: " + sourceResourceId + " to: " + destResourceId);
                driverJarUrls.add(destFile.toURI().toURL());
              } catch (IOException e) {
                LOG.warn("Unable to copy " + jarPath, e);
              }
            });
    return driverJarUrls.stream().toArray(URL[]::new);
  }
@Test
  public void testSavesFilesAsExpected() throws IOException {
    File tempFile1 = temporaryFolder.newFile();
    File tempFile2 = temporaryFolder.newFile();
    String expectedContent1 = "hello world";
    String expectedContent2 = "hello world 2";
    Files.write(tempFile1.toPath(), expectedContent1.getBytes(StandardCharsets.UTF_8));
    Files.write(tempFile2.toPath(), expectedContent2.getBytes(StandardCharsets.UTF_8));

    URL[] urls =
        JdbcUtil.saveFilesLocally(tempFile1.getAbsolutePath() + "," + tempFile2.getAbsolutePath());

    assertEquals(2, urls.length);
    assertEquals(
        expectedContent1,
        new String(Files.readAllBytes(Paths.get(urls[0].getFile())), StandardCharsets.UTF_8));
    assertEquals(
        expectedContent2,
        new String(Files.readAllBytes(Paths.get(urls[1].getFile())), StandardCharsets.UTF_8));
  }