diff --git a/java/com/google/devtools/build/android/desugar/BitFlags.java b/java/com/google/devtools/build/android/desugar/BitFlags.java
index bb32c45..8be2288 100644
--- a/java/com/google/devtools/build/android/desugar/BitFlags.java
+++ b/java/com/google/devtools/build/android/desugar/BitFlags.java
@@ -15,14 +15,12 @@
 
 import org.objectweb.asm.Opcodes;
 
-/**
- * Convenience method for working with {@code int} bitwise flags.
- */
+/** Convenience method for working with {@code int} bitwise flags. */
 class BitFlags {
 
   /**
-   * Returns {@code true} iff <b>all</b> bits in {@code bitmask} are set in {@code flags}.
-   * Trivially returns {@code true} if {@code bitmask} is 0.
+   * Returns {@code true} iff <b>all</b> bits in {@code bitmask} are set in {@code flags}. Trivially
+   * returns {@code true} if {@code bitmask} is 0.
    */
   public static boolean isSet(int flags, int bitmask) {
     return (flags & bitmask) == bitmask;
diff --git a/java/com/google/devtools/build/android/desugar/BytecodeTypeInference.java b/java/com/google/devtools/build/android/desugar/BytecodeTypeInference.java
index 777a4ab..783069f 100644
--- a/java/com/google/devtools/build/android/desugar/BytecodeTypeInference.java
+++ b/java/com/google/devtools/build/android/desugar/BytecodeTypeInference.java
@@ -14,12 +14,14 @@
 package com.google.devtools.build.android.desugar;
 
 import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.base.Preconditions.checkNotNull;
 import static com.google.common.base.Preconditions.checkState;
 
 import com.google.auto.value.AutoValue;
 import com.google.common.collect.ImmutableList;
 import java.util.ArrayList;
-import java.util.HashMap;
+import java.util.Optional;
+import javax.annotation.Nullable;
 import org.objectweb.asm.Handle;
 import org.objectweb.asm.Label;
 import org.objectweb.asm.MethodVisitor;
@@ -41,11 +43,6 @@
   private FrameInfo previousFrame;
   /** For debugging purpose. */
   private final String methodSignature;
-  /**
-   * Stores mapping from "uninitialized" value to concrete value. This is for the "new" instruction.
-   */
-  private final HashMap<InferredType, InferredType> uninitializedToConcreteTypeMap =
-      new HashMap<>();
 
   public BytecodeTypeInference(int access, String owner, String name, String methodDescriptor) {
     super(Opcodes.ASM6);
@@ -81,6 +78,10 @@
     return operandStack.toString();
   }
 
+  public String getLocalsAsString() {
+    return localVariableSlots.toString();
+  }
+
   @Override
   public void visitInsn(int opcode) {
     switch (opcode) {
@@ -476,8 +477,7 @@
       int argumentSize = (Type.getArgumentsAndReturnSizes(desc) >> 2);
       InferredType receiverType = getTypeOfOperandFromTop(argumentSize - 1);
       if (receiverType.isUninitialized()) {
-        InferredType realType = InferredType.create('L' + owner + ';');
-        uninitializedToConcreteTypeMap.put(receiverType, realType);
+        InferredType realType = InferredType.createNonUninitializedType('L' + owner + ';');
         replaceUninitializedTypeInStack(receiverType, realType);
       }
     }
@@ -642,7 +642,6 @@
     operandStack.addAll(previousFrame.stack());
     localVariableSlots.clear();
     localVariableSlots.addAll(previousFrame.locals());
-
     super.visitFrame(type, nLocal, local, nStack, stack);
   }
 
@@ -672,7 +671,7 @@
     checkArgument(oldType.isUninitialized(), "The old type is NOT uninitialized. %s", oldType);
     for (int i = 0, size = operandStack.size(); i < size; ++i) {
       InferredType type = operandStack.get(i);
-      if (type == oldType) {
+      if (type.equals(oldType)) {
         operandStack.set(i, newType);
       }
     }
@@ -703,7 +702,7 @@
         break;
       case 'L':
       case '[':
-        push(InferredType.create(desc.substring(index)));
+        push(InferredType.createNonUninitializedType(desc.substring(index)));
         break;
       default:
         throw new RuntimeException("Unhandled type: " + desc);
@@ -771,12 +770,6 @@
     return lastPopped;
   }
 
-  private static ImmutableList<InferredType> removeBackFromList(
-      ImmutableList<InferredType> list, int countToRemove) {
-    int newSize = list.size() - countToRemove;
-    return list.subList(0, newSize);
-  }
-
   /**
    * Create the types of local variables at the very beginning of the method with the information of
    * the declaring class and the method descriptor.
@@ -787,7 +780,7 @@
 
     if (!BitFlags.isSet(access, Opcodes.ACC_STATIC)) {
       // Instance method, and this is the receiver
-      types.add(InferredType.create(convertToDescriptor(ownerClass)));
+      types.add(InferredType.createNonUninitializedType(convertToDescriptor(ownerClass)));
     }
     Type[] argumentTypes = Type.getArgumentTypes(methodDescriptor);
     for (Type argumentType : argumentTypes) {
@@ -812,7 +805,7 @@
           break;
         case Type.ARRAY:
         case Type.OBJECT:
-          types.add(InferredType.create(argumentType.getDescriptor()));
+          types.add(InferredType.createNonUninitializedType(argumentType.getDescriptor()));
           break;
         default:
           throw new RuntimeException(
@@ -828,6 +821,28 @@
     return types;
   }
 
+  private static ImmutableList<InferredType> removeBackFromList(
+      ImmutableList<InferredType> list, int countToRemove) {
+    int origSize = list.size();
+    int index = origSize - 1;
+
+    while (index >= 0 && countToRemove > 0) {
+      InferredType type = list.get(index);
+      if (type.equals(InferredType.TOP) && index > 0 && list.get(index - 1).isCategory2()) {
+        --index; // A category 2 takes two slots.
+      }
+      --index; // Eat this local variable.
+      --countToRemove;
+    }
+    checkState(
+        countToRemove == 0,
+        "countToRemove is %s but not 0. index=%s, list=%s",
+        countToRemove,
+        index,
+        list);
+    return list.subList(0, index + 1);
+  }
+
   private ImmutableList<InferredType> appendArrayToList(
       ImmutableList<InferredType> list, int size, Object[] array) {
     ImmutableList.Builder<InferredType> builder = ImmutableList.builder();
@@ -861,13 +876,13 @@
     } else if (typeInStackMapFrame instanceof String) {
       String referenceTypeName = (String) typeInStackMapFrame;
       if (referenceTypeName.charAt(0) == '[') {
-        return InferredType.create(referenceTypeName);
+        return InferredType.createNonUninitializedType(referenceTypeName);
       } else {
-        return InferredType.create('L' + referenceTypeName + ';');
+        return InferredType.createNonUninitializedType('L' + referenceTypeName + ';');
       }
     } else if (typeInStackMapFrame instanceof Label) {
       Label label = (Label) typeInStackMapFrame;
-      return InferredType.createUninitialized(label.getOffset());
+      return InferredType.createUninitializedType(label);
     } else {
       throw new RuntimeException(
           "Cannot reach here. Unhandled element: value="
@@ -911,26 +926,45 @@
     public static final String UNINITIALIZED_PREFIX = "UNINIT@";
 
     public static final InferredType BOOLEAN =
-        new AutoValue_BytecodeTypeInference_InferredType("Z");
-    public static final InferredType BYTE = new AutoValue_BytecodeTypeInference_InferredType("B");
-    public static final InferredType INT = new AutoValue_BytecodeTypeInference_InferredType("I");
-    public static final InferredType FLOAT = new AutoValue_BytecodeTypeInference_InferredType("F");
-    public static final InferredType LONG = new AutoValue_BytecodeTypeInference_InferredType("J");
-    public static final InferredType DOUBLE = new AutoValue_BytecodeTypeInference_InferredType("D");
+        new AutoValue_BytecodeTypeInference_InferredType("Z", /*uninitializationLabel=*/ null);
+    public static final InferredType BYTE =
+        new AutoValue_BytecodeTypeInference_InferredType("B", /*uninitializationLabel=*/ null);
+    public static final InferredType INT =
+        new AutoValue_BytecodeTypeInference_InferredType("I", /*uninitializationLabel=*/ null);
+    public static final InferredType FLOAT =
+        new AutoValue_BytecodeTypeInference_InferredType("F", /*uninitializationLabel=*/ null);
+    public static final InferredType LONG =
+        new AutoValue_BytecodeTypeInference_InferredType("J", /*uninitializationLabel=*/ null);
+    public static final InferredType DOUBLE =
+        new AutoValue_BytecodeTypeInference_InferredType("D", /*uninitializationLabel=*/ null);
     /** Not a real value. */
-    public static final InferredType TOP = new AutoValue_BytecodeTypeInference_InferredType("TOP");
+    public static final InferredType TOP =
+        new AutoValue_BytecodeTypeInference_InferredType("TOP", /*uninitializationLabel=*/ null);
     /** The value NULL */
     public static final InferredType NULL =
-        new AutoValue_BytecodeTypeInference_InferredType("NULL");
+        new AutoValue_BytecodeTypeInference_InferredType("NULL", /*uninitializationLabel=*/ null);
 
     public static final InferredType UNINITIALIZED_THIS =
-        new AutoValue_BytecodeTypeInference_InferredType("UNINITIALIZED_THIS");
+        new AutoValue_BytecodeTypeInference_InferredType(
+            "UNINITIALIZED_THIS", /*uninitializationLabel=*/ null);
 
-    static InferredType create(String descriptor) {
+    /**
+     * Create a type for a value. This method is not intended to be called outside of this class.
+     */
+    private static InferredType create(String descriptor, @Nullable Label uninitializationLabel) {
+      if (UNINITIALIZED_PREFIX.equals(descriptor)) {
+        return new AutoValue_BytecodeTypeInference_InferredType(
+            UNINITIALIZED_PREFIX, checkNotNull(uninitializationLabel));
+      }
+      checkArgument(
+          uninitializationLabel == null,
+          "The uninitializationLabel should be null for non-uninitialized value. %s",
+          descriptor);
       char firstChar = descriptor.charAt(0);
-      if (firstChar == 'L' || firstChar == '[' || descriptor.startsWith(UNINITIALIZED_PREFIX)) {
-        // Reference, array, or uninitialized values.
-        return new AutoValue_BytecodeTypeInference_InferredType(descriptor);
+      if (firstChar == 'L' || firstChar == '[') {
+        // Reference, array.
+        return new AutoValue_BytecodeTypeInference_InferredType(
+            descriptor, /*uninitializationLabel=*/ null);
       }
       switch (descriptor) {
         case "Z":
@@ -956,12 +990,23 @@
       }
     }
 
-    /** Create a type for uninitialized value. The label is generated by ASM. */
-    static InferredType createUninitialized(int label) {
-      return create(UNINITIALIZED_PREFIX + label);
+    /** Creates all types except UNINITIALIZED. This method can also create UNINTIALIZED_THIS. */
+    static InferredType createNonUninitializedType(String descriptor) {
+      return create(descriptor, /*uninitializationLabel=*/ null);
+    }
+
+    /** Create a type for an UNINITIALIZED value. The uninitializationLabel is generated by ASM. */
+    static InferredType createUninitializedType(Label uninitializationLabel) {
+      return create(UNINITIALIZED_PREFIX, uninitializationLabel);
     }
 
     abstract String descriptor();
+    /**
+     * The label may be null. This field is meaningful if the current type is "UNINITIALIZED". For
+     * other types, this field is null.
+     */
+    @Nullable
+    abstract Label uninitializationLabel();
 
     @Override
     public String toString() {
@@ -978,7 +1023,7 @@
     public InferredType getElementTypeIfArrayOrThrow() {
       String descriptor = descriptor();
       checkState(descriptor.charAt(0) == '[', "This type %s is not an array.", this);
-      return create(descriptor.substring(1));
+      return createNonUninitializedType(descriptor.substring(1));
     }
 
     /** Is an uninitialized value? */
@@ -992,17 +1037,16 @@
     }
 
     /**
-     * If this type is a reference type, then return the internal name. Otherwise, throw an
-     * exception.
+     * If this type is a reference type, then return the internal name. Otherwise, returns empty.
      */
-    public String getInternalNameOrThrow() {
+    public Optional<String> getInternalName() {
       String descriptor = descriptor();
       int length = descriptor.length();
-      checkState(
-          descriptor.charAt(0) == 'L' && descriptor.charAt(length - 1) == ';',
-          "The type is expected to be either a class or an interface: %s",
-          descriptor);
-      return descriptor.substring(1, length - 1);
+      if (length > 0 && descriptor.charAt(0) == 'L' && descriptor.charAt(length - 1) == ';') {
+        return Optional.of(descriptor.substring(1, length - 1));
+      } else {
+        return Optional.empty();
+      }
     }
   }
 }
diff --git a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
index cbb3271..7f1591b 100644
--- a/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
+++ b/java/com/google/devtools/build/android/desugar/CoreLibraryRewriter.java
@@ -116,6 +116,26 @@
       super.accept(cv, attrs, flags);
     }
 
+    @Override
+    public String getClassName() {
+      return prefix(super.getClassName());
+    }
+
+    @Override
+    public String getSuperName() {
+      String result = super.getSuperName();
+      return result != null ? prefix(result) : null;
+    }
+
+    @Override
+    public String[] getInterfaces() {
+      String[] result = super.getInterfaces();
+      for (int i = 0, len = result.length; i < len; ++i) {
+        result[i] = prefix(result[i]);
+      }
+      return result;
+    }
+
     /** Prefixes core library class names with prefix. */
     private String prefix(String typeName) {
       if (shouldPrefix(typeName)) {
diff --git a/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
index beaeb03..72f039a 100644
--- a/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
+++ b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
@@ -14,17 +14,19 @@
 package com.google.devtools.build.android.desugar;
 
 import static com.google.common.base.Preconditions.checkArgument;
+import static com.google.common.collect.Iterables.getOnlyElement;
 
+import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.Iterators;
 import java.io.IOException;
 import java.lang.invoke.MethodHandle;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.Map;
-import java.util.function.Predicate;
+import java.util.Set;
 import java.util.stream.Stream;
 
 class LambdaClassMaker {
@@ -33,6 +35,7 @@
 
   private final Path rootDirectory;
   private final Map<Path, LambdaInfo> generatedClasses = new LinkedHashMap<>();
+  private final Set<Path> existingPaths = new HashSet<>();
 
   public LambdaClassMaker(Path rootDirectory) {
     checkArgument(
@@ -42,7 +45,9 @@
 
   public void generateLambdaClass(String invokerInternalName, LambdaInfo lambdaInfo,
       MethodHandle bootstrapMethod, ArrayList<Object> bsmArgs) throws IOException {
-    // Invoking the bootstrap method will dump the generated class
+    // Invoking the bootstrap method will dump the generated class.  Ignore any pre-existing
+    // matching files, which can come from desugar's implementation using classes being desugared.
+    existingPaths.addAll(findUnprocessed(invokerInternalName + "$$Lambda$"));
     try {
       bootstrapMethod.invokeWithArguments(bsmArgs);
     } catch (Throwable e) {
@@ -50,8 +55,9 @@
           + invokerInternalName + " using " + bootstrapMethod + " with arguments " + bsmArgs, e);
     }
 
-    Path generatedClassFile = findOnlyUnprocessed(invokerInternalName + "$$Lambda$");
+    Path generatedClassFile = getOnlyElement(findUnprocessed(invokerInternalName + "$$Lambda$"));
     generatedClasses.put(generatedClassFile, lambdaInfo);
+    existingPaths.add(generatedClassFile);
   }
 
   /**
@@ -64,7 +70,7 @@
     return result;
   }
 
-  private Path findOnlyUnprocessed(String pathPrefix) throws IOException {
+  private ImmutableList<Path> findUnprocessed(String pathPrefix) throws IOException {
     // pathPrefix is an internal class name prefix containing '/', but paths obtained on Windows
     // will not contain '/' and searches will fail.  So, construct an absolute path from the given
     // string and use its string representation to find the file we need regardless of host
@@ -72,18 +78,15 @@
     Path rootPathPrefix = rootDirectory.resolve(pathPrefix);
     final String rootPathPrefixStr = rootPathPrefix.toString();
 
-    // TODO(bazel-team): This could be much nicer with lambdas
+    if (!Files.exists(rootPathPrefix.getParent())) {
+      return ImmutableList.of();
+    }
     try (Stream<Path> paths =
         Files.list(rootPathPrefix.getParent())
             .filter(
-                new Predicate<Path>() {
-                  @Override
-                  public boolean test(Path path) {
-                    return path.toString().startsWith(rootPathPrefixStr)
-                        && !generatedClasses.containsKey(path);
-                  }
-                })) {
-      return Iterators.getOnlyElement(paths.iterator());
+                path -> path.toString().startsWith(rootPathPrefixStr)
+                    && !existingPaths.contains(path))) {
+      return paths.collect(ImmutableList.toImmutableList());
     }
   }
 }
diff --git a/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriter.java b/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriter.java
index e4d4da5..8e6d6d5 100644
--- a/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriter.java
+++ b/java/com/google/devtools/build/android/desugar/TryWithResourcesRewriter.java
@@ -31,6 +31,7 @@
 import com.google.devtools.build.android.desugar.BytecodeTypeInference.InferredType;
 import java.util.Collections;
 import java.util.LinkedHashSet;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.atomic.AtomicInteger;
 import javax.annotation.Nullable;
@@ -291,10 +292,16 @@
           // Check the exception type.
           InferredType exceptionClass = typeInference.getTypeOfOperandFromTop(1);
           if (!exceptionClass.isNull()) {
-            String exceptionClassInternalName = exceptionClass.getInternalNameOrThrow();
+            Optional<String> exceptionClassInternalName = exceptionClass.getInternalName();
+            checkState(
+                exceptionClassInternalName.isPresent(),
+                "The exception %s is not a reference type in %s.%s",
+                exceptionClass,
+                internalName,
+                methodSignature);
             checkState(
                 isAssignableFrom(
-                    "java.lang.Throwable", exceptionClassInternalName.replace('/', '.')),
+                    "java.lang.Throwable", exceptionClassInternalName.get().replace('/', '.')),
                 "The exception type %s in %s.%s should be a subclass of java.lang.Throwable.",
                 exceptionClassInternalName,
                 internalName,
@@ -302,20 +309,26 @@
           }
         }
 
-        String resourceClassInternalName =
-            typeInference.getTypeOfOperandFromTop(0).getInternalNameOrThrow();
+        InferredType resourceType = typeInference.getTypeOfOperandFromTop(0);
+        Optional<String> resourceClassInternalName = resourceType.getInternalName();
+        checkState(
+            resourceClassInternalName.isPresent(),
+            "The resource class %s is not a reference type in %s.%s",
+            resourceType,
+            internalName,
+            methodSignature);
         checkState(
             isAssignableFrom(
-                "java.lang.AutoCloseable", resourceClassInternalName.replace('/', '.')),
+                "java.lang.AutoCloseable", resourceClassInternalName.get().replace('/', '.')),
             "The resource type should be a subclass of java.lang.AutoCloseable: %s",
             resourceClassInternalName);
 
-        resourceTypeInternalNames.add(resourceClassInternalName);
+        resourceTypeInternalNames.add(resourceClassInternalName.get());
         super.visitMethodInsn(
             opcode,
             owner,
             "$closeResource",
-            "(Ljava/lang/Throwable;L" + resourceClassInternalName + ";)V",
+            "(Ljava/lang/Throwable;L" + resourceClassInternalName.get() + ";)V",
             itf);
         return;
       }
diff --git a/test/java/com/google/devtools/build/android/desugar/ByteCodeTypePrinter.java b/test/java/com/google/devtools/build/android/desugar/ByteCodeTypePrinter.java
index fefc599..d58d002 100644
--- a/test/java/com/google/devtools/build/android/desugar/ByteCodeTypePrinter.java
+++ b/test/java/com/google/devtools/build/android/desugar/ByteCodeTypePrinter.java
@@ -20,6 +20,7 @@
 import java.io.PrintWriter;
 import java.nio.file.Files;
 import java.nio.file.Path;
+import java.util.Comparator;
 import java.util.zip.ZipEntry;
 import java.util.zip.ZipFile;
 import org.objectweb.asm.ClassReader;
@@ -53,7 +54,7 @@
   private static ImmutableList<ZipEntry> getSortedClassEntriess(ZipFile jar) {
     return jar.stream()
         .filter(entry -> entry.getName().endsWith(".class"))
-        .sorted()
+        .sorted(Comparator.comparing(ZipEntry::getName))
         .collect(ImmutableList.toImmutableList());
   }
 
@@ -116,105 +117,106 @@
       this.printWriter = printWriter;
     }
 
-    private void printTypeOfOperandStackTop() {
+    private void printTypeOfOperandStack() {
       printer.print("    |__STACK: " + inference.getOperandStackAsString() + "\n");
+      printer.print("    |__LOCAL: " + inference.getLocalsAsString() + "\n");
     }
 
     @Override
     public void visitIntInsn(int opcode, int operand) {
       printer.visitIntInsn(opcode, operand);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitIntInsn(opcode, operand);
     }
 
     @Override
     public void visitInsn(int opcode) {
       printer.visitInsn(opcode);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitInsn(opcode);
     }
 
     @Override
     public void visitMultiANewArrayInsn(String desc, int dims) {
       printer.visitMultiANewArrayInsn(desc, dims);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitMultiANewArrayInsn(desc, dims);
     }
 
     @Override
     public void visitLookupSwitchInsn(Label dflt, int[] keys, Label[] labels) {
       printer.visitLookupSwitchInsn(dflt, keys, labels);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitLookupSwitchInsn(dflt, keys, labels);
     }
 
     @Override
     public void visitTableSwitchInsn(int min, int max, Label dflt, Label... labels) {
       printer.visitTableSwitchInsn(min, max, dflt, labels);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitTableSwitchInsn(min, max, dflt, labels);
     }
 
     @Override
     public void visitIincInsn(int var, int increment) {
       printer.visitIincInsn(var, increment);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitIincInsn(var, increment);
     }
 
     @Override
     public void visitLdcInsn(Object cst) {
       printer.visitLdcInsn(cst);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitLdcInsn(cst);
     }
 
     @Override
     public void visitJumpInsn(int opcode, Label label) {
       printer.visitJumpInsn(opcode, label);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitJumpInsn(opcode, label);
     }
 
     @Override
     public void visitInvokeDynamicInsn(String name, String desc, Handle bsm, Object... bsmArgs) {
       printer.visitInvokeDynamicInsn(name, desc, bsm, bsmArgs);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitInvokeDynamicInsn(name, desc, bsm, bsmArgs);
     }
 
     @Override
     public void visitMethodInsn(int opcode, String owner, String name, String desc, boolean itf) {
       printer.visitMethodInsn(opcode, owner, name, desc, itf);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitMethodInsn(opcode, owner, name, desc, itf);
     }
 
     @Override
     public void visitMethodInsn(int opcode, String owner, String name, String desc) {
       printer.visitMethodInsn(opcode, owner, name, desc);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitMethodInsn(opcode, owner, name, desc);
     }
 
     @Override
     public void visitFieldInsn(int opcode, String owner, String name, String desc) {
       printer.visitFieldInsn(opcode, owner, name, desc);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitFieldInsn(opcode, owner, name, desc);
     }
 
     @Override
     public void visitTypeInsn(int opcode, String type) {
       printer.visitTypeInsn(opcode, type);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitTypeInsn(opcode, type);
     }
 
     @Override
     public void visitVarInsn(int opcode, int var) {
       printer.visitVarInsn(opcode, var);
-      printTypeOfOperandStackTop();
+      printTypeOfOperandStack();
       super.visitVarInsn(opcode, var);
     }
 
diff --git a/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.golden.txt b/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.golden.txt
index 722c2ad..dabfe14 100644
--- a/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.golden.txt
+++ b/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.golden.txt
@@ -3,1168 +3,1793 @@
    L0
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;]
     INVOKESPECIAL java/lang/Object.<init> ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;]
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;]
 Method catchTest
    L0
     ALOAD 0
         |__STACK: [Ljava/lang/Object;]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     INSTANCEOF java/lang/String
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     IFNE L1
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
    L2
     GETSTATIC testsubjects/TestSubject.VALUE_ONE : I
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     IRETURN
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
    L1
    FRAME SAME
     ALOAD 0
         |__STACK: [Ljava/lang/Object;]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     CHECKCAST java/lang/String
         |__STACK: [Ljava/lang/String;]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     INVOKESTATIC java/util/regex/Pattern.compile (Ljava/lang/String;)Ljava/util/regex/Pattern;
         |__STACK: [Ljava/util/regex/Pattern;]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     POP
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
    L3
     GOTO L4
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
    L5
    FRAME SAME1 java/util/regex/PatternSyntaxException
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;, Ljava/util/regex/PatternSyntaxException;]
    L6
     GETSTATIC testsubjects/TestSubject.VALUE_TWO : I
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;, Ljava/util/regex/PatternSyntaxException;]
     IRETURN
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;, Ljava/util/regex/PatternSyntaxException;]
    L4
    FRAME SAME
     GETSTATIC testsubjects/TestSubject.VALUE_ONE : I
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
     IRETURN
         |__STACK: []
+        |__LOCAL: [Ljava/lang/Object;, Ljava/lang/Object;]
 Method assertEquals
    L0
     DLOAD 1
         |__STACK: [D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DLOAD 3
         |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESTATIC java/lang/Double.compare (DD)I
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     IFNE L1
         |__STACK: []
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
    L2
     RETURN
         |__STACK: []
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
    L1
    FRAME SAME
     DLOAD 1
         |__STACK: [D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DLOAD 3
         |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DSUB
         |__STACK: [D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESTATIC java/lang/Math.abs (D)D
         |__STACK: [D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DLOAD 5
         |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DCMPG
         |__STACK: [I]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     IFLE L3
         |__STACK: []
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
    L4
     NEW java/lang/RuntimeException
         |__STACK: [Ljava/lang/RuntimeException;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DUP
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     NEW java/lang/StringBuilder
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DUP
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESPECIAL java/lang/StringBuilder.<init> ()V
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     ALOAD 0
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/String;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     NEW java/lang/Double
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DUP
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DLOAD 1
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;, Ljava/lang/Double;, D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESPECIAL java/lang/Double.<init> (D)V
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     NEW java/lang/Double
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DUP
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     DLOAD 3
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;, Ljava/lang/Double;, D, TOP]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESPECIAL java/lang/Double.<init> (D)V
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;, Ljava/lang/Double;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKEVIRTUAL java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/StringBuilder;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKEVIRTUAL java/lang/StringBuilder.toString ()Ljava/lang/String;
         |__STACK: [Ljava/lang/RuntimeException;, Ljava/lang/RuntimeException;, Ljava/lang/String;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     INVOKESPECIAL java/lang/RuntimeException.<init> (Ljava/lang/String;)V
         |__STACK: [Ljava/lang/RuntimeException;]
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
    L3
    FRAME SAME
     RETURN
         |__STACK: []
+        |__LOCAL: [Ljava/lang/String;, D, TOP, D, TOP, D, TOP]
 Method simpleTryWithResources
    L0
     NEW testsubjects/TestSubject$SimpleResource
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: []
     DUP
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;, Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: []
     INVOKESPECIAL testsubjects/TestSubject$SimpleResource.<init> ()V
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: []
     ASTORE 0
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;]
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;]
     ASTORE 1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
    L1
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     ICONST_1
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;, I]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     INVOKEVIRTUAL testsubjects/TestSubject$SimpleResource.call (Z)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
    L2
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     IFNULL L3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     ALOAD 1
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     IFNULL L4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
    L5
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
     INVOKEVIRTUAL testsubjects/TestSubject$SimpleResource.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
    L6
     GOTO L3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, NULL]
    L7
    FRAME FULL [testsubjects/TestSubject$SimpleResource java/lang/Throwable] [java/lang/Throwable]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 1
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 2
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L4
    FRAME SAME
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL testsubjects/TestSubject$SimpleResource.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;]
     GOTO L3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;]
    L8
    FRAME SAME1 java/lang/Throwable
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 2
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ASTORE 1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 2
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L9
    FRAME SAME1 java/lang/Throwable
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L10
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     IFNULL L11
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     ALOAD 1
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     IFNULL L12
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L13
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     INVOKEVIRTUAL testsubjects/TestSubject$SimpleResource.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L14
     GOTO L11
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L15
    FRAME FULL [testsubjects/TestSubject$SimpleResource java/lang/Throwable T java/lang/Throwable] [java/lang/Throwable]
     ASTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 1
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 4
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L11
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L12
    FRAME SAME
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject$SimpleResource;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     INVOKEVIRTUAL testsubjects/TestSubject$SimpleResource.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L11
    FRAME SAME
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject$SimpleResource;, Ljava/lang/Throwable;, TOP, Ljava/lang/Throwable;]
    L3
    FRAME FULL [] []
     RETURN
         |__STACK: []
+        |__LOCAL: []
 Method internalCompare
    L0
     ALOAD 4
         |__STACK: [Ljava/util/function/BinaryOperator;]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     LLOAD 0
         |__STACK: [Ljava/util/function/BinaryOperator;, J, TOP]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     INVOKESTATIC java/lang/Long.valueOf (J)Ljava/lang/Long;
         |__STACK: [Ljava/util/function/BinaryOperator;, Ljava/lang/Long;]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     LLOAD 2
         |__STACK: [Ljava/util/function/BinaryOperator;, Ljava/lang/Long;, J, TOP]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     INVOKESTATIC java/lang/Long.valueOf (J)Ljava/lang/Long;
         |__STACK: [Ljava/util/function/BinaryOperator;, Ljava/lang/Long;, Ljava/lang/Long;]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     INVOKEINTERFACE java/util/function/BinaryOperator.apply (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
         |__STACK: [Ljava/lang/Object;]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     CHECKCAST java/lang/Long
         |__STACK: [Ljava/lang/Long;]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     INVOKEVIRTUAL java/lang/Long.longValue ()J
         |__STACK: [J, TOP]
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
     LRETURN
         |__STACK: []
+        |__LOCAL: [J, TOP, J, TOP, Ljava/util/function/BinaryOperator;]
 Method closeResourceArray
    L0
     ALOAD 1
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ALOAD 2
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ARRAYLENGTH
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ISTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I]
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I]
     ISTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
    L1
    FRAME APPEND [[Ljava/sql/Statement; I I]
     ILOAD 4
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ILOAD 3
         |__STACK: [I, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     IF_ICMPGE L2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ALOAD 2
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ILOAD 4
         |__STACK: [[Ljava/sql/Statement;, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     AALOAD
         |__STACK: [Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ASTORE 5
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L3
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     ALOAD 5
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     ACONST_NULL
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;, NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     INVOKEVIRTUAL testsubjects/TestSubject.closeResource (Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L4
     IINC 4 1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     GOTO L1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L2
    FRAME CHOP 3
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [Ljava/sql/Statement;]
 Method closeResourceMultiArray
    L0
     ALOAD 1
         |__STACK: [[[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;]
     ALOAD 2
         |__STACK: [[[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;]
     ARRAYLENGTH
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;]
     ISTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I]
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I]
     ISTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
    L1
    FRAME APPEND [[[Ljava/sql/Statement; I I]
     ILOAD 4
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     ILOAD 3
         |__STACK: [I, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     IF_ICMPGE L2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     ALOAD 2
         |__STACK: [[[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     ILOAD 4
         |__STACK: [[[Ljava/sql/Statement;, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     AALOAD
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     ASTORE 5
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;]
    L3
     ALOAD 5
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;]
     ASTORE 6
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ALOAD 6
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ARRAYLENGTH
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;]
     ISTORE 7
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I]
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I]
     ISTORE 8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
    L4
    FRAME FULL [testsubjects/TestSubject [[Ljava/sql/Statement; [[Ljava/sql/Statement; I I [Ljava/sql/Statement; [Ljava/sql/Statement; I I] []
     ILOAD 8
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ILOAD 7
         |__STACK: [I, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     IF_ICMPGE L5
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ALOAD 6
         |__STACK: [[Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ILOAD 8
         |__STACK: [[Ljava/sql/Statement;, I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     AALOAD
         |__STACK: [Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I]
     ASTORE 9
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L6
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     ALOAD 9
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     ACONST_NULL
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;, NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     INVOKEVIRTUAL testsubjects/TestSubject.closeResource (Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L7
     IINC 8 1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
     GOTO L4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I, [Ljava/sql/Statement;, [Ljava/sql/Statement;, I, I, Ljava/sql/Statement;]
    L5
    FRAME FULL [testsubjects/TestSubject [[Ljava/sql/Statement; [[Ljava/sql/Statement; I I] []
     IINC 4 1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
     GOTO L1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;, [[Ljava/sql/Statement;, I, I]
    L2
    FRAME CHOP 3
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, [[Ljava/sql/Statement;]
 Method closeResourceArrayList
    L0
     ALOAD 1
         |__STACK: [Ljava/util/List;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;]
     INVOKEINTERFACE java/util/List.iterator ()Ljava/util/Iterator;
         |__STACK: [Ljava/util/Iterator;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
    L1
    FRAME APPEND [java/util/Iterator]
     ALOAD 2
         |__STACK: [Ljava/util/Iterator;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     INVOKEINTERFACE java/util/Iterator.hasNext ()Z
         |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     IFEQ L2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     ALOAD 2
         |__STACK: [Ljava/util/Iterator;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     INVOKEINTERFACE java/util/Iterator.next ()Ljava/lang/Object;
         |__STACK: [Ljava/lang/Object;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     CHECKCAST java/sql/Statement
         |__STACK: [Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;]
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
    L3
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
     ALOAD 3
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
     ACONST_NULL
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;, NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
     INVOKEVIRTUAL testsubjects/TestSubject.closeResource (Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
    L4
     GOTO L1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;, Ljava/util/Iterator;, Ljava/sql/Statement;]
    L2
    FRAME CHOP 1
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/util/List;]
 Method closeSqlStmt
    L0
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, NULL]
    L1
     ALOAD 1
         |__STACK: [Ljava/sql/Connection;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, NULL]
     INVOKEINTERFACE java/sql/Connection.createStatement ()Ljava/sql/Statement;
         |__STACK: [Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, NULL]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
    L2
     GOTO L3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
    L4
    FRAME FULL [testsubjects/TestSubject java/sql/Connection java/sql/Statement] [java/sql/SQLException]
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
    L5
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
     ALOAD 2
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
     ALOAD 3
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
     INVOKEVIRTUAL testsubjects/TestSubject.closeResource (Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;, Ljava/sql/SQLException;]
    L3
    FRAME SAME
     ALOAD 0
         |__STACK: [Ltestsubjects/TestSubject;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
     ALOAD 2
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
     ACONST_NULL
         |__STACK: [Ltestsubjects/TestSubject;, Ljava/sql/Statement;, NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
     INVOKEVIRTUAL testsubjects/TestSubject.closeResource (Ljava/lang/AutoCloseable;Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
    L6
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/sql/Connection;, Ljava/sql/Statement;]
 Method closeResource
    L0
     ALOAD 1
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNONNULL L1
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L2
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L1
    FRAME SAME
     ALOAD 1
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L3
     GOTO L4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L5
    FRAME SAME1 java/lang/Exception
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
    L6
     ALOAD 2
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
     IFNULL L7
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
    L8
     ALOAD 2
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Exception;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
    L7
    FRAME APPEND [java/lang/Exception]
     ALOAD 3
         |__STACK: [Ljava/lang/Exception;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Exception;]
    L4
    FRAME CHOP 1
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
 Method intAdd
    L0
     ILOAD 0
         |__STACK: [I]
+        |__LOCAL: [I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L1
     IINC 2 1
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L2
     IINC 2 1
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L3
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     IADD
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L4
     IINC 2 -1
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L5
     IINC 2 -1
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L6
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     ISUB
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L7
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     IMUL
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L8
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     IDIV
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L9
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     IREM
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L10
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ICONST_2
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     ISHL
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L11
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ILOAD 1
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     ISHR
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L12
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ICONST_3
         |__STACK: [I, I]
+        |__LOCAL: [I, I, I]
     IUSHR
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     ISTORE 2
         |__STACK: []
+        |__LOCAL: [I, I, I]
    L13
     ILOAD 2
         |__STACK: [I]
+        |__LOCAL: [I, I, I]
     I2L
         |__STACK: [J, TOP]
+        |__LOCAL: [I, I, I]
     LSTORE 3
         |__STACK: []
+        |__LOCAL: [I, I, I, J, TOP]
    L14
     LLOAD 3
         |__STACK: [J, TOP]
+        |__LOCAL: [I, I, I, J, TOP]
     ILOAD 1
         |__STACK: [J, TOP, I]
+        |__LOCAL: [I, I, I, J, TOP]
     LSHL
         |__STACK: [J, TOP]
+        |__LOCAL: [I, I, I, J, TOP]
     LSTORE 3
         |__STACK: []
+        |__LOCAL: [I, I, I, J, TOP]
    L15
     LLOAD 3
         |__STACK: [J, TOP]
+        |__LOCAL: [I, I, I, J, TOP]
     L2I
         |__STACK: [I]
+        |__LOCAL: [I, I, I, J, TOP]
     IRETURN
         |__STACK: []
+        |__LOCAL: [I, I, I, J, TOP]
 Method createNumberWithDiamond
    L0
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [I]
     ASTORE 1
         |__STACK: []
+        |__LOCAL: [I, NULL]
    L1
     ILOAD 0
         |__STACK: [I]
+        |__LOCAL: [I, NULL]
     IFEQ L2
         |__STACK: []
+        |__LOCAL: [I, NULL]
    L3
     NEW java/lang/Integer
         |__STACK: [Ljava/lang/Integer;]
+        |__LOCAL: [I, NULL]
     DUP
         |__STACK: [Ljava/lang/Integer;, Ljava/lang/Integer;]
+        |__LOCAL: [I, NULL]
     ICONST_1
         |__STACK: [Ljava/lang/Integer;, Ljava/lang/Integer;, I]
+        |__LOCAL: [I, NULL]
     INVOKESPECIAL java/lang/Integer.<init> (I)V
         |__STACK: [Ljava/lang/Integer;]
+        |__LOCAL: [I, NULL]
     ASTORE 1
         |__STACK: []
+        |__LOCAL: [I, Ljava/lang/Integer;]
     GOTO L4
         |__STACK: []
+        |__LOCAL: [I, Ljava/lang/Integer;]
    L2
    FRAME APPEND [java/lang/Number]
     NEW java/lang/Double
         |__STACK: [Ljava/lang/Double;]
+        |__LOCAL: [I, Ljava/lang/Number;]
     DUP
         |__STACK: [Ljava/lang/Double;, Ljava/lang/Double;]
+        |__LOCAL: [I, Ljava/lang/Number;]
     DCONST_1
         |__STACK: [Ljava/lang/Double;, Ljava/lang/Double;, D, TOP]
+        |__LOCAL: [I, Ljava/lang/Number;]
     INVOKESPECIAL java/lang/Double.<init> (D)V
         |__STACK: [Ljava/lang/Double;]
+        |__LOCAL: [I, Ljava/lang/Number;]
     ASTORE 1
         |__STACK: []
+        |__LOCAL: [I, Ljava/lang/Double;]
    L4
    FRAME SAME
     ALOAD 1
         |__STACK: [Ljava/lang/Number;]
+        |__LOCAL: [I, Ljava/lang/Number;]
     ARETURN
         |__STACK: []
+        |__LOCAL: [I, Ljava/lang/Number;]
 Method createMultiObjectArray
    L0
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: []
     ICONST_0
         |__STACK: [I, I]
+        |__LOCAL: []
     MULTIANEWARRAY [[Ljava/lang/Object; 2
         |__STACK: [[[Ljava/lang/Object;]
+        |__LOCAL: []
     ARETURN
         |__STACK: []
+        |__LOCAL: []
 Method createObjectArray
    L0
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: []
     ANEWARRAY java/lang/Object
         |__STACK: [[Ljava/lang/Object;]
+        |__LOCAL: []
     ARETURN
         |__STACK: []
+        |__LOCAL: []
 Method createIntArray
    L0
     ICONST_0
         |__STACK: [I]
+        |__LOCAL: []
     NEWARRAY T_INT
         |__STACK: [[I]
+        |__LOCAL: []
     ARETURN
         |__STACK: []
+        |__LOCAL: []
 Method staticEmpty1
    L0
     RETURN
         |__STACK: []
+        |__LOCAL: []
 Method instanceEmpty1
    L0
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;]
 Method identity
    L0
     ILOAD 0
         |__STACK: [I]
+        |__LOCAL: [I]
     IRETURN
         |__STACK: []
+        |__LOCAL: [I]
 Method identity2
    L0
     ILOAD 0
         |__STACK: [I]
+        |__LOCAL: [I]
     ISTORE 1
         |__STACK: []
+        |__LOCAL: [I, I]
    L1
     ILOAD 1
         |__STACK: [I]
+        |__LOCAL: [I, I]
     IRETURN
         |__STACK: []
+        |__LOCAL: [I, I]
 Method readFile
    L0
     NEW java/io/BufferedReader
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     NEW java/io/FileReader
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     ALOAD 1
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;, Ljava/io/File;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     INVOKESPECIAL java/io/FileReader.<init> (Ljava/io/File;)V
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     INVOKESPECIAL java/io/BufferedReader.<init> (Ljava/io/Reader;)V
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;]
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;]
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
    L1
     NEW java/io/BufferedReader
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     NEW java/io/FileReader
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     ALOAD 1
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;, Ljava/io/File;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/FileReader.<init> (Ljava/io/File;)V
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/BufferedReader.<init> (Ljava/io/Reader;)V
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL]
     ASTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
    L2
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
     ASTORE 5
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L3
     NEW java/io/BufferedReader
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     NEW java/io/FileReader
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     ALOAD 1
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;, Ljava/io/File;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/FileReader.<init> (Ljava/io/File;)V
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/BufferedReader.<init> (Ljava/io/Reader;)V
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     ASTORE 6
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
    L4
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
     ASTORE 7
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L5
     NEW java/io/BufferedReader
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     NEW java/io/FileReader
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     DUP
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     ALOAD 1
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;, Ljava/io/FileReader;, Ljava/io/File;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/FileReader.<init> (Ljava/io/File;)V
         |__STACK: [Ljava/io/BufferedReader;, Ljava/io/BufferedReader;, Ljava/io/FileReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     INVOKESPECIAL java/io/BufferedReader.<init> (Ljava/io/Reader;)V
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     ASTORE 8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
    L6
     ACONST_NULL
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;]
     ASTORE 9
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L7
     ALOAD 8
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     IFNULL L8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     ALOAD 9
         |__STACK: [NULL]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     IFNULL L9
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L10
     ALOAD 8
         |__STACK: [Ljava/io/BufferedReader;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L11
     GOTO L8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL, Ljava/io/BufferedReader;, NULL]
    L12
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable] [java/lang/Throwable]
     ASTORE 10
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 9
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 10
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L9
    FRAME SAME
     ALOAD 8
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L8
    FRAME CHOP 2
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L13
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     ALOAD 7
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L14
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L15
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L16
     GOTO L13
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L17
    FRAME SAME1 java/lang/Throwable
     ASTORE 8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 7
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 8
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L13
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L14
    FRAME SAME
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     GOTO L13
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L18
    FRAME SAME1 java/lang/Throwable
     ASTORE 8
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 8
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ASTORE 7
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 8
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L19
    FRAME SAME1 java/lang/Throwable
     ASTORE 11
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L20
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L21
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ALOAD 7
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L22
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L23
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L24
     GOTO L21
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L25
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable T T T java/lang/Throwable] [java/lang/Throwable]
     ASTORE 12
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 7
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 12
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L21
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L22
    FRAME SAME
     ALOAD 6
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L21
    FRAME SAME
     ALOAD 11
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L13
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable] []
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L26
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     ALOAD 5
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L27
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L28
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L29
     GOTO L26
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L30
    FRAME SAME1 java/lang/Throwable
     ASTORE 6
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 5
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 6
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L26
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L27
    FRAME SAME
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     GOTO L26
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L31
    FRAME SAME1 java/lang/Throwable
     ASTORE 6
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 6
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ASTORE 5
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 6
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L32
    FRAME SAME1 java/lang/Throwable
     ASTORE 13
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L33
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L34
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ALOAD 5
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L35
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L36
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L37
     GOTO L34
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L38
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable java/lang/AutoCloseable java/lang/Throwable T T T T T T T java/lang/Throwable] [java/lang/Throwable]
     ASTORE 14
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 5
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 14
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L34
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L35
    FRAME SAME
     ALOAD 4
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L34
    FRAME SAME
     ALOAD 13
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L26
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable] []
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L39
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     IFNULL L40
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L41
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L42
     GOTO L39
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L43
    FRAME SAME1 java/lang/Throwable
     ASTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 4
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L39
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L40
    FRAME SAME
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
     GOTO L39
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;]
    L44
    FRAME SAME1 java/lang/Throwable
     ASTORE 4
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 4
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ASTORE 3
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 4
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L45
    FRAME SAME1 java/lang/Throwable
     ASTORE 15
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L46
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L47
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     IFNULL L48
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L49
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L50
     GOTO L47
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L51
    FRAME FULL [testsubjects/TestSubject java/io/File java/lang/AutoCloseable java/lang/Throwable T T T T T T T T T T T java/lang/Throwable] [java/lang/Throwable]
     ASTORE 16
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 3
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     ALOAD 16
         |__STACK: [Ljava/lang/Throwable;, Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     INVOKEVIRTUAL java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
     GOTO L47
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;, Ljava/lang/Throwable;]
    L48
    FRAME SAME
     ALOAD 2
         |__STACK: [Ljava/lang/AutoCloseable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     INVOKEINTERFACE java/lang/AutoCloseable.close ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L47
    FRAME SAME
     ALOAD 15
         |__STACK: [Ljava/lang/Throwable;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
     ATHROW
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/lang/AutoCloseable;, Ljava/lang/Throwable;, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, TOP, Ljava/lang/Throwable;]
    L39
    FRAME FULL [testsubjects/TestSubject java/io/File] []
     GOTO L52
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
    L53
    FRAME SAME1 java/io/IOException
     ASTORE 2
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/IOException;]
    L54
     ALOAD 2
         |__STACK: [Ljava/io/IOException;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/IOException;]
     INVOKEVIRTUAL java/io/IOException.printStackTrace ()V
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;, Ljava/io/IOException;]
    L52
    FRAME SAME
     RETURN
         |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, Ljava/io/File;]
+Method testWithDoubleTypes
+   L0
+    DCONST_1
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;]
+    DSTORE 1
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP]
+   L1
+    DCONST_1
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP]
+    DSTORE 3
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+   L2
+   FRAME APPEND [D D]
+    DLOAD 3
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    LDC 22.0
+        |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DCMPG
+        |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    IFGE L3
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+   L4
+    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
+        |__STACK: [Ljava/io/PrintStream;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DLOAD 3
+        |__STACK: [Ljava/io/PrintStream;, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    INVOKEVIRTUAL java/io/PrintStream.println (D)V
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+   L5
+    DLOAD 1
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DLOAD 3
+        |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DADD
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DSTORE 1
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+   L6
+    DLOAD 3
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DCONST_1
+        |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DADD
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    DSTORE 3
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+    GOTO L2
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP, D, TOP]
+   L3
+   FRAME CHOP 1
+    DLOAD 1
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP]
+    DRETURN
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, D, TOP]
+Method testWithFloatAndDoubleTypes
+   L0
+    FCONST_1
+        |__STACK: [F]
+        |__LOCAL: [Ltestsubjects/TestSubject;]
+    FSTORE 1
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F]
+   L1
+    DCONST_1
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F]
+    DSTORE 2
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+   L2
+   FRAME APPEND [F D]
+    DLOAD 2
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    LDC 22.0
+        |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DCMPG
+        |__STACK: [I]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    IFGE L3
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+   L4
+    GETSTATIC java/lang/System.out : Ljava/io/PrintStream;
+        |__STACK: [Ljava/io/PrintStream;]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DLOAD 2
+        |__STACK: [Ljava/io/PrintStream;, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    INVOKEVIRTUAL java/io/PrintStream.println (D)V
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+   L5
+    FLOAD 1
+        |__STACK: [F]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DLOAD 2
+        |__STACK: [F, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    D2F
+        |__STACK: [F, F]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    FADD
+        |__STACK: [F]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    FSTORE 1
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+   L6
+    DLOAD 2
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DCONST_1
+        |__STACK: [D, TOP, D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DADD
+        |__STACK: [D, TOP]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    DSTORE 2
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+    GOTO L2
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F, D, TOP]
+   L3
+   FRAME CHOP 1
+    FLOAD 1
+        |__STACK: [F]
+        |__LOCAL: [Ltestsubjects/TestSubject;, F]
+    FRETURN
+        |__STACK: []
+        |__LOCAL: [Ltestsubjects/TestSubject;, F]
 Method <clinit>
    L0
     ICONST_1
         |__STACK: [I]
+        |__LOCAL: []
     PUTSTATIC testsubjects/TestSubject.VALUE_ONE : I
         |__STACK: []
+        |__LOCAL: []
    L1
     ICONST_2
         |__STACK: [I]
+        |__LOCAL: []
     PUTSTATIC testsubjects/TestSubject.VALUE_TWO : I
         |__STACK: []
+        |__LOCAL: []
     RETURN
-        |__STACK: []
\ No newline at end of file
+        |__STACK: []
+        |__LOCAL: []
\ No newline at end of file
diff --git a/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.java b/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.java
index 2573648..476da87 100644
--- a/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.java
+++ b/test/java/com/google/devtools/build/android/desugar/BytecodeTypeInferenceTest.java
@@ -13,8 +13,11 @@
 // limitations under the License.
 package com.google.devtools.build.android.desugar;
 
+import static com.google.common.truth.Truth.assertThat;
+
+import com.google.common.collect.ImmutableMap;
 import com.google.common.io.Files;
-import com.google.common.truth.Truth;
+import com.google.devtools.build.android.desugar.BytecodeTypeInference.InferredType;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -24,6 +27,7 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
+import org.objectweb.asm.Label;
 
 /** Test for {@link BytecodeTypeInference} */
 @RunWith(JUnit4.class)
@@ -33,7 +37,7 @@
   private static final Path GOLDEN_PATH = Paths.get(System.getProperty("golden_file"));
 
   @Test
-  public void test() throws IOException {
+  public void testTypeInference() throws IOException {
     StringWriter stringWriter = new StringWriter();
     try (PrintWriter printWriter = new PrintWriter(stringWriter)) {
       ByteCodeTypePrinter.printClassesWithTypes(JAR_PATH, printWriter);
@@ -41,6 +45,37 @@
     }
     String inferenceResult = stringWriter.toString().trim();
     String golden = Files.asCharSource(GOLDEN_PATH.toFile(), StandardCharsets.UTF_8).read().trim();
-    Truth.assertThat(inferenceResult).isEqualTo(golden);
+    assertThat(inferenceResult).isEqualTo(golden);
+  }
+
+  @Test
+  public void testUninitializedInferType() {
+    Label label = new Label();
+    InferredType type = InferredType.createUninitializedType(label);
+    assertThat(type.descriptor()).isEqualTo(InferredType.UNINITIALIZED_PREFIX);
+    assertThat(type.uninitializationLabel()).isEqualTo(label);
+  }
+
+  @Test
+  public void testNonUninitializedInferType() {
+    ImmutableMap<String, InferredType> map =
+        ImmutableMap.<String, InferredType>builder()
+            .put("Z", InferredType.BOOLEAN)
+            .put("B", InferredType.BYTE)
+            .put("I", InferredType.INT)
+            .put("F", InferredType.FLOAT)
+            .put("D", InferredType.DOUBLE)
+            .put("J", InferredType.LONG)
+            .put("TOP", InferredType.TOP)
+            .put("NULL", InferredType.NULL)
+            .put("UNINITIALIZED_THIS", InferredType.UNINITIALIZED_THIS)
+            .build();
+    map.forEach(
+        (descriptor, expected) -> {
+          InferredType type = InferredType.createNonUninitializedType(descriptor);
+          assertThat(type.uninitializationLabel()).isNull();
+          assertThat(type.descriptor()).isEqualTo(descriptor);
+          assertThat(type).isSameAs(expected);
+        });
   }
 }
diff --git a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar
index efa491b..f1bb726 100644
--- a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar
+++ b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/test_subjects.jar
Binary files differ
diff --git a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java
index b5463a7..a07e73b 100644
--- a/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java
+++ b/test/java/com/google/devtools/build/android/desugar/classes_for_testing_type_inference/testsubjects/TestSubject.java
@@ -193,4 +193,22 @@
       e.printStackTrace();
     }
   }
+
+  public double testWithDoubleTypes() {
+    double result = 1;
+    for (double i = 1; i < 22; i = i + 1) {
+      System.out.println(i);
+      result += i;
+    }
+    return result;
+  }
+
+  public float testWithFloatAndDoubleTypes() {
+    float result = 1;
+    for (double i = 1; i < 22; i = i + 1) {
+      System.out.println(i);
+      result += (float) i;
+    }
+    return result;
+  }
 }
