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/LambdaClassMaker.java b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
index beaeb03..1f240ef 100644
--- a/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
+++ b/java/com/google/devtools/build/android/desugar/LambdaClassMaker.java
@@ -14,18 +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.stream.Stream;
+import java.util.Set;
 
 class LambdaClassMaker {
 
@@ -33,6 +34,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 +44,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 +54,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 +69,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 +77,14 @@
     Path rootPathPrefix = rootDirectory.resolve(pathPrefix);
     final String rootPathPrefixStr = rootPathPrefix.toString();
 
-    // TODO(bazel-team): This could be much nicer with lambdas
-    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());
+    if (!Files.exists(rootPathPrefix.getParent())) {
+      return ImmutableList.of();
     }
+    return Files.list(rootPathPrefix.getParent())
+        .filter(
+            path ->
+                path.toString().startsWith(rootPathPrefixStr)
+                    && !existingPaths.contains(path))
+        .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;
+  }
 }
