diff --git a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/customconversion/GenerateCustomConversionTest.java b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/customconversion/GenerateCustomConversionTest.java
index 0b6ff7e..fb090bd 100644
--- a/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/customconversion/GenerateCustomConversionTest.java
+++ b/src/test/java/com/android/tools/r8/desugar/desugaredlibrary/customconversion/GenerateCustomConversionTest.java
@@ -66,19 +66,20 @@
       // Assert the file matches the one in third_party.
       Path thirdPartyFile = ToolHelper.getDesugarLibConversions(version);
       uploadJarsToCloudStorageIfTestFails(
-          (file1, file2) -> {
-            verifySameFilesInJarInSameOrder(file1, file2);
-            assertProgramsEqual(file1, file2);
-            return filesAreEqual(file1, file2);
+          (expected, actual) -> {
+            verifySameFilesInJarInSameOrder(expected, actual);
+            assertProgramsEqual(expected, actual);
+            return filesAreEqual(expected, actual);
           },
-          newFile,
-          thirdPartyFile);
+          thirdPartyFile,
+          newFile);
     }
   }
 
-  private static void verifySameFilesInJarInSameOrder(Path file1, Path file2) throws IOException {
-    try (ZipFile zipFile1 = new ZipFile(file1.toFile())) {
-      try (ZipFile zipFile2 = new ZipFile(file2.toFile())) {
+  private static void verifySameFilesInJarInSameOrder(Path expected, Path actual)
+      throws IOException {
+    try (ZipFile zipFile1 = new ZipFile(expected.toFile())) {
+      try (ZipFile zipFile2 = new ZipFile(actual.toFile())) {
         Enumeration<? extends ZipEntry> entries1 = zipFile1.entries();
         List<String> s1 = new ArrayList<>();
         while (entries1.hasMoreElements()) {
diff --git a/third_party/openjdk/custom_conversion.tar.gz.sha1 b/third_party/openjdk/custom_conversion.tar.gz.sha1
index 78e461a..a8d1c63 100644
--- a/third_party/openjdk/custom_conversion.tar.gz.sha1
+++ b/third_party/openjdk/custom_conversion.tar.gz.sha1
@@ -1 +1 @@
-134099eb76dc8f9ffb60d49f9ba5db11649fb936
\ No newline at end of file
+06f011cdb1f21ce902e1b653c3784c28ddfe28ed
\ No newline at end of file
