Remove unchecked conversion in SimplePolicyExecutor

Change-Id: I990ed72319953966ea7d139f1166034ddb5870c6
diff --git a/src/main/java/com/android/tools/r8/horizontalclassmerging/SimplePolicyExecutor.java b/src/main/java/com/android/tools/r8/horizontalclassmerging/SimplePolicyExecutor.java
index fe7e76d..322958f 100644
--- a/src/main/java/com/android/tools/r8/horizontalclassmerging/SimplePolicyExecutor.java
+++ b/src/main/java/com/android/tools/r8/horizontalclassmerging/SimplePolicyExecutor.java
@@ -26,13 +26,7 @@
     Iterator<Collection<DexProgramClass>> i = groups.iterator();
     while (i.hasNext()) {
       Collection<DexProgramClass> group = i.next();
-      Iterator<DexProgramClass> j = group.iterator();
-      while (j.hasNext()) {
-        DexProgramClass clazz = j.next();
-        if (!policy.canMerge(clazz)) {
-          j.remove();
-        }
-      }
+      group.removeIf(clazz -> !policy.canMerge(clazz));
       if (group.size() < 2) {
         i.remove();
       }
@@ -54,7 +48,7 @@
     LinkedList<Collection<DexProgramClass>> linkedGroups;
 
     if (inputGroups instanceof LinkedList) {
-      linkedGroups = (LinkedList) inputGroups;
+      linkedGroups = (LinkedList<Collection<DexProgramClass>>) inputGroups;
     } else {
       linkedGroups = new LinkedList<>(inputGroups);
     }