class org.eclipse.jdt.internal.compiler.lookup.BoundSet
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.compiler.lookup.BoundSet
  super_class: java.lang.Object
{
  public static boolean enableOptimizationForBug543480;
    descriptor: Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static final org.eclipse.jdt.internal.compiler.lookup.BoundSet TRUE;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final org.eclipse.jdt.internal.compiler.lookup.BoundSet FALSE;
    descriptor: Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  java.util.HashMap<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets> boundsPerVariable;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;>;

  java.util.HashMap<org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding, org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding> captures;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 
    Signature: Ljava/util/HashMap<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;

  java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable> inThrows;
    descriptor: Ljava/util/Set;
    flags: (0x0000) 
    Signature: Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;

  private org.eclipse.jdt.internal.compiler.lookup.TypeBound[] incorporatedBounds;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.compiler.lookup.TypeBound[] unincorporatedBounds;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x0002) ACC_PRIVATE

  private int unincorporatedBoundsCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.eclipse.jdt.internal.compiler.lookup.TypeBound[] mostRecentBounds;
    descriptor: [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 47
            iconst_1
            putstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.enableOptimizationForBug543480:Z
         1: .line 49
            ldc "enableOptimizationForBug543480"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* enableOptimizationForBug543480Property */
        start local 0 // java.lang.String enableOptimizationForBug543480Property
         2: .line 50
            aload 0 /* enableOptimizationForBug543480Property */
            ifnull 4
         3: .line 51
            aload 0 /* enableOptimizationForBug543480Property */
            ldc "true"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            putstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.enableOptimizationForBug543480:Z
        end local 0 // java.lang.String enableOptimizationForBug543480Property
         4: .line 55
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet.<init>:()V
            putstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.TRUE:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
         5: .line 56
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet.<init>:()V
            putstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            return
      LocalVariableTable:
        Start  End  Slot                                    Name  Signature
            2    4     0  enableOptimizationForBug543480Property  Ljava/lang/String;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
         0: .line 347
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 332
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
         2: .line 338
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
         3: .line 340
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.inThrows:Ljava/util/Set;
         4: .line 342
            aload 0 /* this */
            iconst_0
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
         5: .line 343
            aload 0 /* this */
            sipush 1024
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
         6: .line 344
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
         7: .line 345
            aload 0 /* this */
            iconst_4
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
         8: .line 347
            return
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;

  public void addBoundsFromTypeParameters(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18, org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[], org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
         0: .line 351
            aload 2 /* typeParameters */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         1: .line 352
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         2: goto 12
         3: .line 353
      StackMap locals: int int
      StackMap stack:
            aload 2 /* typeParameters */
            iload 5 /* i */
            aaload
            astore 6 /* typeParameter */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeParameter
         4: .line 354
            aload 3 /* variables */
            iload 5 /* i */
            aaload
            astore 7 /* variable */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
         5: .line 355
            aload 6 /* typeParameter */
            aload 7 /* variable */
            new org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution
            dup
            aload 1 /* context */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)V
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.getTypeBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            astore 8 /* someBounds */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] someBounds
         6: .line 356
            iconst_0
            istore 9 /* hasProperBound */
        start local 9 // boolean hasProperBound
         7: .line 357
            aload 8 /* someBounds */
            arraylength
            ifle 9
         8: .line 358
            aload 0 /* this */
            aload 8 /* someBounds */
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
            istore 9 /* hasProperBound */
         9: .line 359
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int
      StackMap stack:
            iload 9 /* hasProperBound */
            ifne 11
        10: .line 360
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 7 /* variable */
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            iconst_2
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 9 // boolean hasProperBound
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] someBounds
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding typeParameter
        11: .line 352
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] int int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 5 /* i */
            iload 4 /* length */
            if_icmplt 3
        end local 5 // int i
        13: .line 362
            return
        end local 4 // int length
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] typeParameters
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   14     1         context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   14     2  typeParameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            0   14     3       variables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1   14     4          length  I
            2   13     5               i  I
            4   11     6   typeParameter  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            5   11     7        variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            6   11     8      someBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            7   11     9  hasProperBound  Z
    MethodParameters:
                Name  Flags
      context         
      typeParameters  
      variables       

  public org.eclipse.jdt.internal.compiler.lookup.TypeBound[] flatten();
    descriptor: ()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
         0: .line 366
            iconst_0
            istore 1 /* size */
        start local 1 // int size
         1: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* outerIt */
        start local 2 // java.util.Iterator outerIt
         2: .line 368
            goto 4
         3: .line 369
      StackMap locals: int java.util.Iterator
      StackMap stack:
            iload 1 /* size */
            aload 2 /* outerIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.size:()I
            iadd
            istore 1 /* size */
         4: .line 368
      StackMap locals:
      StackMap stack:
            aload 2 /* outerIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         5: .line 370
            iload 1 /* size */
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 3 /* collected */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] collected
         6: .line 371
            iload 1 /* size */
            ifne 7
            aload 3 /* collected */
            areturn
         7: .line 372
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound[]
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2 /* outerIt */
         8: .line 373
            iconst_0
            istore 4 /* idx */
        start local 4 // int idx
         9: .line 374
            goto 11
        10: .line 375
      StackMap locals: int
      StackMap stack:
            aload 2 /* outerIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            aload 3 /* collected */
            iload 4 /* idx */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.flattenInto:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;I)I
            istore 4 /* idx */
        11: .line 374
      StackMap locals:
      StackMap stack:
            aload 2 /* outerIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        12: .line 376
            aload 3 /* collected */
            areturn
        end local 4 // int idx
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] collected
        end local 2 // java.util.Iterator outerIt
        end local 1 // int size
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            1   13     1       size  I
            2   13     2    outerIt  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;>;
            6   13     3  collected  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            9   13     4        idx  I

  public org.eclipse.jdt.internal.compiler.lookup.BoundSet copy();
    descriptor: ()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
         0: .line 384
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet
            dup
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet.<init>:()V
            astore 1 /* copy */
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet copy
         1: .line 385
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* setsIterator */
        start local 2 // java.util.Iterator setsIterator
         2: .line 386
            goto 5
         3: .line 387
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Iterator
      StackMap stack:
            aload 2 /* setsIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         4: .line 388
            aload 1 /* copy */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.copy:()Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.util.Map$Entry entry
         5: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* setsIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 390
            aload 1 /* copy */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.inThrows:Ljava/util/Set;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.inThrows:Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 391
            aload 1 /* copy */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         8: .line 392
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 393
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 394
            aload 1 /* copy */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
        11: .line 395
            aload 1 /* copy */
            areturn
        end local 2 // java.util.Iterator setsIterator
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet copy
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            1   12     1          copy  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            2   12     2  setsIterator  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;>;>;
            4    5     3         entry  Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;>;

  public void addBound(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 400
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iconst_2
            if_icmpne 2
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 2
         1: .line 401
            return
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpne 4
         3: .line 403
            return
         4: .line 404
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* recent */
        start local 3 // int recent
         5: goto 18
         6: .line 405
      StackMap locals: int
      StackMap stack:
            aload 1 /* bound */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iload 3 /* recent */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBound.equals:(Ljava/lang/Object;)Z
            ifeq 17
         7: .line 406
            aload 2 /* environment */
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.isAnnotationBasedNullAnalysisEnabled:Z
            ifeq 16
         8: .line 407
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iload 3 /* recent */
            aaload
            astore 4 /* existing */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound existing
         9: .line 408
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 5 /* boundNullBits */
        start local 5 // long boundNullBits
        10: .line 409
            aload 4 /* existing */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 108086391056891904
            land
            lstore 7 /* existingNullBits */
        start local 7 // long existingNullBits
        11: .line 410
            lload 5 /* boundNullBits */
            lload 7 /* existingNullBits */
            lcmp
            ifeq 16
        12: .line 411
            lload 7 /* existingNullBits */
            lconst_0
            lcmp
            ifne 14
        13: .line 412
            aload 4 /* existing */
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            goto 16
        14: .line 413
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound long long
      StackMap stack:
            lload 5 /* boundNullBits */
            lconst_0
            lcmp
            ifeq 16
        15: .line 414
            aload 4 /* existing */
            aload 2 /* environment */
            aload 4 /* existing */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* environment */
            lload 5 /* boundNullBits */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.nullAnnotationsFromTagBits:(J)[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createAnnotatedType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/AnnotationBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
        end local 7 // long existingNullBits
        end local 5 // long boundNullBits
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound existing
        16: .line 417
      StackMap locals:
      StackMap stack:
            return
        17: .line 404
      StackMap locals:
      StackMap stack:
            iinc 3 /* recent */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* recent */
            iconst_4
            if_icmplt 6
        end local 3 // int recent
        19: .line 421
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_3
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_2
            aaload
            aastore
        20: .line 422
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_1
            aaload
            aastore
        21: .line 423
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aaload
            aastore
        22: .line 424
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.mostRecentBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 1 /* bound */
            aastore
        23: .line 426
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 3 /* variable */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        24: .line 427
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 3 /* variable */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 4 /* three */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        25: .line 428
            aload 4 /* three */
            ifnonnull 27
        26: .line 429
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 3 /* variable */
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
            dup
            astore 4 /* three */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 430
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            aload 4 /* three */
            aload 1 /* bound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            ifeq 43
        28: .line 431
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            istore 5 /* unincorporatedBoundsLength */
        start local 5 // int unincorporatedBoundsLength
        29: .line 432
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            iload 5 /* unincorporatedBoundsLength */
            if_icmplt 31
        30: .line 433
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 0 /* this */
            iload 5 /* unincorporatedBoundsLength */
            iconst_2
            imul
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup_x1
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            iload 5 /* unincorporatedBoundsLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 434
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            dup_x1
            iconst_1
            iadd
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            aload 1 /* bound */
            aastore
        32: .line 436
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* typeBinding */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
        33: .line 437
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iconst_4
            if_icmpne 35
            aload 6 /* typeBinding */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 35
        34: .line 438
            aload 4 /* three */
            aload 6 /* typeBinding */
            aload 3 /* variable */
            aload 2 /* environment */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.setInstantiation:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        35: .line 439
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 43
        36: .line 443
            aload 1 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 7 /* rightIV */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable rightIV
        37: .line 444
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 7 /* rightIV */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 4 /* three */
        38: .line 445
            aload 4 /* three */
            ifnonnull 40
        39: .line 446
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 7 /* rightIV */
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;)V
            dup
            astore 4 /* three */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 447
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack:
            aload 4 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.inverseBounds:Ljava/util/Map;
            ifnonnull 42
        41: .line 448
            aload 4 /* three */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.inverseBounds:Ljava/util/Map;
        42: .line 449
      StackMap locals:
      StackMap stack:
            aload 4 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.inverseBounds:Ljava/util/Map;
            aload 7 /* rightIV */
            aload 1 /* bound */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable rightIV
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding typeBinding
        end local 5 // int unincorporatedBoundsLength
        43: .line 452
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   44     0                        this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   44     1                       bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   44     2                 environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            5   19     3                      recent  I
            9   16     4                    existing  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           10   16     5               boundNullBits  J
           11   16     7            existingNullBits  J
           24   44     3                    variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           25   44     4                       three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
           29   43     5  unincorporatedBoundsLength  I
           33   43     6                 typeBinding  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           37   43     7                     rightIV  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    MethodParameters:
             Name  Flags
      bound        
      environment  

  private boolean addBounds(org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] newBounds
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 455
            iconst_0
            istore 3 /* hasProperBound */
        start local 3 // boolean hasProperBound
         1: .line 456
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 6
         3: .line 457
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* newBounds */
            iload 4 /* i */
            aaload
            aload 2 /* environment */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
         4: .line 458
            iload 3 /* hasProperBound */
            aload 1 /* newBounds */
            iload 4 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBound.isBound:()Z
            ior
            istore 3 /* hasProperBound */
         5: .line 456
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            aload 1 /* newBounds */
            arraylength
            if_icmplt 3
        end local 4 // int i
         7: .line 460
            iload 3 /* hasProperBound */
            ireturn
        end local 3 // boolean hasProperBound
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] newBounds
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    8     1       newBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    8     2     environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            1    8     3  hasProperBound  Z
            2    7     4               i  I
    MethodParameters:
             Name  Flags
      newBounds    
      environment  

  public void addBounds(org.eclipse.jdt.internal.compiler.lookup.BoundSet, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet that
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 464
            aload 1 /* that */
            ifnull 1
            aload 2 /* environment */
            ifnonnull 2
         1: .line 465
      StackMap locals:
      StackMap stack:
            return
         2: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.flatten:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aload 2 /* environment */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
            pop
         3: .line 467
            return
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.BoundSet that
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    4     1         that  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    4     2  environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
    MethodParameters:
             Name  Flags
      that         
      environment  

  public boolean isInstantiated(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
         0: .line 470
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* inferenceVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 2 /* three */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 471
            aload 2 /* three */
            ifnull 4
         2: .line 472
            aload 2 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.instantiation:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            ifnull 3
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 473
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    5     1  inferenceVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1    5     2              three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
    MethodParameters:
                   Name  Flags
      inferenceVariable  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding getInstantiation(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
         0: .line 477
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* inferenceVariable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* three */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 478
            aload 3 /* three */
            ifnull 7
         2: .line 479
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.instantiation:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* instantiation */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding instantiation
         3: .line 480
            aload 2 /* environment */
            ifnull 6
            aload 2 /* environment */
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.isAnnotationBasedNullAnalysisEnabled:Z
            ifeq 6
         4: .line 481
            aload 4 /* instantiation */
            ifnull 6
            aload 4 /* instantiation */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            ldc 108086391056891904
            land
            lconst_0
            lcmp
            ifne 6
         5: .line 482
            aload 3 /* three */
            aload 4 /* instantiation */
            aload 1 /* inferenceVariable */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.nullHints:J
            aload 2 /* environment */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.combineAndUseNullHints:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;JLorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         6: .line 483
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 4 /* instantiation */
            areturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding instantiation
         7: .line 485
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment environment
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    8     0               this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    8     1  inferenceVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0    8     2        environment  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            1    8     3              three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
            3    7     4      instantiation  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
                   Name  Flags
      inferenceVariable  
      environment        

  public int numUninstantiatedVariables(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
         0: .line 489
            iconst_0
            istore 2 /* num */
        start local 2 // int num
         1: .line 490
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 491
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* variables */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isInstantiated:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifne 5
         4: .line 492
            iinc 2 /* num */ 1
         5: .line 490
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* variables */
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 494
            iload 2 /* num */
            ireturn
        end local 2 // int num
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] variables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    8     1  variables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1    8     2        num  I
            2    7     3          i  I
    MethodParameters:
           Name  Flags
      variables  

  boolean incorporate(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
         0: .line 500
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            ifne 2
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifne 2
         1: .line 501
            iconst_1
            ireturn
         2: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            astore 2 /* freshBounds */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] freshBounds
         3: iconst_0
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 506
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
         5: .line 509
            aload 0 /* this */
            aload 1 /* context */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aload 2 /* freshBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            ifne 7
         6: .line 510
            iconst_0
            ireturn
         7: .line 512
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound[]
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* freshBounds */
            aload 2 /* freshBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporate:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            ifne 9
         8: .line 513
            iconst_0
            ireturn
         9: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            arraylength
            istore 3 /* incorporatedLength */
        start local 3 // int incorporatedLength
        10: .line 517
            aload 2 /* freshBounds */
            arraylength
            istore 4 /* unincorporatedLength */
        start local 4 // int unincorporatedLength
        11: .line 518
            iload 3 /* incorporatedLength */
            iload 4 /* unincorporatedLength */
            iadd
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 5 /* aggregate */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] aggregate
        12: .line 519
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            iconst_0
            aload 5 /* aggregate */
            iconst_0
            iload 3 /* incorporatedLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 520
            aload 2 /* freshBounds */
            iconst_0
            aload 5 /* aggregate */
            iload 3 /* incorporatedLength */
            iload 4 /* unincorporatedLength */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 521
            aload 0 /* this */
            aload 5 /* aggregate */
            putfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporatedBounds:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] aggregate
        end local 4 // int unincorporatedLength
        end local 3 // int incorporatedLength
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] freshBounds
        15: .line 523
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.unincorporatedBoundsCount:I
        16: .line 503
            ifgt 2
        17: .line 525
            iconst_1
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   18     0                  this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   18     1               context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            3   15     2           freshBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           10   15     3    incorporatedLength  I
           11   15     4  unincorporatedLength  I
           12   15     5             aggregate  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
         Name  Flags
      context  

  boolean incorporate(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
    flags: (0x0000) 
    Code:
      stack=7, locals=30, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] first
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] next
         0: .line 536
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            getfield org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.globalOptions:Lorg/eclipse/jdt/internal/compiler/impl/CompilerOptions;
            getfield org.eclipse.jdt.internal.compiler.impl.CompilerOptions.isAnnotationBasedNullAnalysisEnabled:Z
            istore 4 /* analyzeNull */
        start local 4 // boolean analyzeNull
         1: .line 537
            iconst_4
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula
            astore 5 /* mostRecentFormulas */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] mostRecentFormulas
         2: .line 539
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: aload 2 /* first */
            arraylength
            istore 7 /* iLength */
        start local 7 // int iLength
         4: goto 81
         5: .line 540
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] int int
      StackMap stack:
            aload 2 /* first */
            iload 6 /* i */
            aaload
            astore 8 /* boundI */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundI
         6: .line 541
            iconst_0
            istore 9 /* j */
        start local 9 // int j
         7: aload 3 /* next */
            arraylength
            istore 10 /* jLength */
        start local 10 // int jLength
         8: goto 79
         9: .line 542
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound int int
      StackMap stack:
            aload 3 /* next */
            iload 9 /* j */
            aaload
            astore 11 /* boundJ */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundJ
        10: .line 543
            aload 8 /* boundI */
            aload 11 /* boundJ */
            if_acmpne 12
        11: .line 544
            goto 78
        12: .line 545
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack:
            iconst_1
            istore 12 /* iteration */
        start local 12 // int iteration
        13: .line 547
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 13 /* newConstraint */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula newConstraint
        14: .line 548
            iconst_0
            istore 14 /* deriveTypeArgumentConstraints */
        start local 14 // boolean deriveTypeArgumentConstraints
        15: .line 549
            iload 12 /* iteration */
            iconst_2
            if_icmpne 19
        16: .line 550
            aload 8 /* boundI */
            astore 15 /* boundX */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundX
        17: .line 551
            aload 11 /* boundJ */
            astore 8 /* boundI */
        18: .line 552
            aload 15 /* boundX */
            astore 11 /* boundJ */
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundX
        19: .line 554
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula int
      StackMap stack:
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            tableswitch { // 2 - 4
                    2: 25
                    3: 33
                    4: 20
              default: 39
          }
        20: .line 556
      StackMap locals:
      StackMap stack:
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            tableswitch { // 2 - 4
                    2: 23
                    3: 23
                    4: 21
              default: 24
          }
        21: .line 558
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            aload 2 /* first */
            aload 3 /* next */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSame:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        22: .line 559
            goto 39
        23: .line 562
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            aload 2 /* first */
            aload 3 /* next */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSubSuper:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        24: .line 565
      StackMap locals:
      StackMap stack:
            goto 39
        25: .line 567
      StackMap locals:
      StackMap stack:
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            tableswitch { // 2 - 4
                    2: 30
                    3: 28
                    4: 26
              default: 32
          }
        26: .line 569
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* boundJ */
            aload 8 /* boundI */
            aload 2 /* first */
            aload 3 /* next */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSubSuper:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        27: .line 570
            goto 39
        28: .line 572
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* boundJ */
            aload 8 /* boundI */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSuperAndSub:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        29: .line 573
            goto 39
        30: .line 575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineEqualSupers:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        31: .line 576
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            istore 14 /* deriveTypeArgumentConstraints */
        32: .line 579
      StackMap locals:
      StackMap stack:
            goto 39
        33: .line 581
      StackMap locals:
      StackMap stack:
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            tableswitch { // 2 - 4
                    2: 36
                    3: 38
                    4: 34
              default: 39
          }
        34: .line 583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 11 /* boundJ */
            aload 8 /* boundI */
            aload 2 /* first */
            aload 3 /* next */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSubSuper:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        35: .line 584
            goto 39
        36: .line 586
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSuperAndSub:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        37: .line 587
            goto 39
        38: .line 589
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineEqualSupers:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 13 /* newConstraint */
        39: .line 593
      StackMap locals:
      StackMap stack:
            aload 13 /* newConstraint */
            ifnull 46
        40: .line 594
            aload 13 /* newConstraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.left:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 13 /* newConstraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            if_acmpne 43
        41: .line 595
            aconst_null
            astore 13 /* newConstraint */
        42: .line 596
            goto 46
      StackMap locals:
      StackMap stack:
        43: aload 13 /* newConstraint */
            aload 5 /* mostRecentFormulas */
            iconst_0
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;)Z
            ifne 45
            aload 13 /* newConstraint */
            aload 5 /* mostRecentFormulas */
            iconst_1
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;)Z
            ifne 45
        44: .line 597
            aload 13 /* newConstraint */
            aload 5 /* mostRecentFormulas */
            iconst_2
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;)Z
            ifne 45
            aload 13 /* newConstraint */
            aload 5 /* mostRecentFormulas */
            iconst_3
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;)Z
            ifeq 46
        45: .line 598
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 13 /* newConstraint */
        46: .line 601
      StackMap locals:
      StackMap stack:
            aload 13 /* newConstraint */
            ifnull 61
        47: .line 603
            aload 5 /* mostRecentFormulas */
            iconst_3
            aload 5 /* mostRecentFormulas */
            iconst_2
            aaload
            aastore
        48: .line 604
            aload 5 /* mostRecentFormulas */
            iconst_2
            aload 5 /* mostRecentFormulas */
            iconst_1
            aaload
            aastore
        49: .line 605
            aload 5 /* mostRecentFormulas */
            iconst_1
            aload 5 /* mostRecentFormulas */
            iconst_0
            aaload
            aastore
        50: .line 606
            aload 5 /* mostRecentFormulas */
            iconst_0
            aload 13 /* newConstraint */
            aastore
        51: .line 608
            aload 0 /* this */
            aload 1 /* context */
            aload 13 /* newConstraint */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 53
        52: .line 609
            iconst_0
            ireturn
        53: .line 611
      StackMap locals:
      StackMap stack:
            iload 4 /* analyzeNull */
            ifeq 61
        54: .line 614
            aload 13 /* newConstraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.left:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            aload 13 /* newConstraint */
            getfield org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.tagBits:J
            lor
            ldc 108086391056891904
            land
            lstore 15 /* nullHints */
        start local 15 // long nullHints
        55: .line 615
            lload 15 /* nullHints */
            lconst_0
            lcmp
            ifeq 61
        56: .line 616
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 59
        57: .line 617
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iconst_4
            if_icmpne 58
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 59
        58: .line 618
      StackMap locals: long
      StackMap stack:
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iconst_4
            if_icmpne 61
            aload 8 /* boundI */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 11 /* boundJ */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 61
        59: .line 619
      StackMap locals:
      StackMap stack:
            aload 8 /* boundI */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.nullHints:J
            lload 15 /* nullHints */
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.nullHints:J
        60: .line 620
            aload 11 /* boundJ */
            dup
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.nullHints:J
            lload 15 /* nullHints */
            lor
            putfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.nullHints:J
        end local 15 // long nullHints
        61: .line 625
      StackMap locals:
      StackMap stack:
            iload 14 /* deriveTypeArgumentConstraints */
            ifeq 62
            aload 0 /* this */
            aload 8 /* boundI */
            aload 11 /* boundJ */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.deriveTypeArgumentConstraints:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            goto 63
      StackMap locals:
      StackMap stack:
        62: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[]
        63: astore 15 /* typeArgumentConstraints */
        start local 15 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] typeArgumentConstraints
        64: .line 626
            aload 15 /* typeArgumentConstraints */
            ifnull 72
        65: .line 627
            iconst_0
            istore 16 /* k */
        start local 16 // int k
        66: aload 15 /* typeArgumentConstraints */
            arraylength
            istore 17 /* length */
        start local 17 // int length
        67: goto 71
        68: .line 628
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 15 /* typeArgumentConstraints */
            iload 16 /* k */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 70
        69: .line 629
            iconst_0
            ireturn
        70: .line 627
      StackMap locals:
      StackMap stack:
            iinc 16 /* k */ 1
      StackMap locals:
      StackMap stack:
        71: iload 16 /* k */
            iload 17 /* length */
            if_icmplt 68
        end local 17 // int length
        end local 16 // int k
        72: .line 632
      StackMap locals:
      StackMap stack:
            iload 12 /* iteration */
            iconst_2
            if_icmpne 76
        73: .line 633
            aload 8 /* boundI */
            astore 16 /* boundX */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundX
        74: .line 634
            aload 11 /* boundJ */
            astore 8 /* boundI */
        75: .line 635
            aload 16 /* boundX */
            astore 11 /* boundJ */
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundX
        end local 15 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] typeArgumentConstraints
        end local 14 // boolean deriveTypeArgumentConstraints
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula newConstraint
        76: .line 637
      StackMap locals:
      StackMap stack:
            aload 2 /* first */
            aload 3 /* next */
            if_acmpeq 78
            iinc 12 /* iteration */ 1
            iload 12 /* iteration */
            iconst_2
        77: .line 546
            if_icmple 13
        end local 12 // int iteration
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundJ
        78: .line 541
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        79: iload 9 /* j */
            iload 10 /* jLength */
            if_icmplt 9
        end local 10 // int jLength
        end local 9 // int j
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundI
        80: .line 539
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        81: iload 6 /* i */
            iload 7 /* iLength */
            if_icmplt 5
        end local 7 // int iLength
        end local 6 // int i
        82: .line 644
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* captIter */
        start local 6 // java.util.Iterator captIter
        83: .line 645
            goto 144
        84: .line 646
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator
      StackMap stack:
            aload 6 /* captIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 7 /* capt */
        start local 7 // java.util.Map$Entry capt
        85: .line 647
            aload 7 /* capt */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 8 /* gAlpha */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding gAlpha
        86: .line 648
            aload 7 /* capt */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 9 /* gA */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding gA
        87: .line 649
            aload 9 /* gA */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 10 /* g */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding g
        88: .line 650
            aload 10 /* g */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding.typeVariables:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
            astore 11 /* parameters */
        start local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
        89: .line 652
            aload 8 /* gAlpha */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            anewarray org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 12 /* alphas */
        start local 12 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] alphas
        90: .line 653
            aload 8 /* gAlpha */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_0
            aload 12 /* alphas */
            iconst_0
            aload 12 /* alphas */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        91: .line 654
            new org.eclipse.jdt.internal.compiler.lookup.BoundSet$1
            dup
            aload 0 /* this */
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 12 /* alphas */
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.currentInvocation:Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;
            aload 11 /* parameters */
            invokespecial org.eclipse.jdt.internal.compiler.lookup.BoundSet$1.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InvocationSite;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;)V
            astore 13 /* theta */
        start local 13 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
        92: .line 660
            iconst_0
            istore 14 /* i */
        start local 14 // int i
        93: aload 11 /* parameters */
            arraylength
            istore 15 /* length */
        start local 15 // int length
        94: goto 143
        95: .line 662
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int
      StackMap stack:
            aload 11 /* parameters */
            iload 14 /* i */
            aaload
            astore 16 /* pi */
        start local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding pi
        96: .line 663
            aload 8 /* gAlpha */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 14 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 17 /* alpha */
        start local 17 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        97: .line 664
            aload 0 /* this */
            aload 16 /* pi */
            aload 17 /* alpha */
            aload 13 /* theta */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.getTypeBounds:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBounds:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
            pop
        98: .line 666
            aload 9 /* gA */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 14 /* i */
            aaload
            astore 18 /* ai */
        start local 18 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ai
        99: .line 667
            aload 18 /* ai */
            instanceof org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            ifeq 141
       100: .line 668
            aload 18 /* ai */
            checkcast org.eclipse.jdt.internal.compiler.lookup.WildcardBinding
            astore 19 /* wildcardBinding */
        start local 19 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcardBinding
       101: .line 669
            aload 19 /* wildcardBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.bound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 20 /* t */
        start local 20 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
       102: .line 670
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 17 /* alpha */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 21 /* three */
        start local 21 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
       103: .line 671
            aload 21 /* three */
            ifnull 142
       104: .line 673
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            ifnull 111
       105: .line 675
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 22 /* it */
        start local 22 // java.util.Iterator it
       106: .line 676
            goto 110
       107: .line 677
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets java.util.Iterator
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 23 /* bound */
        start local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       108: .line 678
            aload 23 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifne 110
       109: .line 679
            iconst_0
            ireturn
        end local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       110: .line 676
      StackMap locals:
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 107
        end local 22 // java.util.Iterator it
       111: .line 682
      StackMap locals:
      StackMap stack:
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.subBounds:Ljava/util/Set;
            ifnull 131
       112: .line 683
            aload 16 /* pi */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.firstBound:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 23 /* bi1 */
        start local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi1
       113: .line 684
            aload 23 /* bi1 */
            ifnonnull 115
       114: .line 685
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.object:Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 23 /* bi1 */
       115: .line 689
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets top org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.subBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 22 /* it */
        start local 22 // java.util.Iterator it
       116: .line 690
            goto 130
       117: .line 691
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 24 /* bound */
        start local 24 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       118: .line 692
            aload 24 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifne 130
       119: .line 693
            aload 24 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 25 /* r */
        start local 25 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
       120: .line 694
            aload 16 /* pi */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding.superInterfaces:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 26 /* otherBounds */
        start local 26 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] otherBounds
       121: .line 696
            aload 26 /* otherBounds */
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_SUPERINTERFACES:[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            if_acmpne 124
       122: .line 697
            aload 23 /* bi1 */
            astore 27 /* bi */
        start local 27 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
       123: .line 698
            goto 129
        end local 27 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
       124: .line 699
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[]
      StackMap stack:
            aload 26 /* otherBounds */
            arraylength
            iconst_1
            iadd
            istore 28 /* n */
        start local 28 // int n
       125: .line 700
            iload 28 /* n */
            anewarray org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            astore 29 /* allBounds */
        start local 29 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] allBounds
       126: .line 701
            aload 29 /* allBounds */
            iconst_0
            aload 23 /* bi1 */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
            aastore
       127: .line 702
            aload 26 /* otherBounds */
            iconst_0
            aload 29 /* allBounds */
            iconst_1
            iload 28 /* n */
            iconst_1
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
       128: .line 703
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            aload 29 /* allBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createIntersectionType18:([Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 27 /* bi */
        end local 29 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] allBounds
        end local 28 // int n
        start local 27 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
       129: .line 705
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 13 /* theta */
            aload 19 /* wildcardBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            aload 20 /* t */
            aload 25 /* r */
            aload 27 /* bi */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addTypeBoundsFromWildcardBound:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
        end local 27 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
        end local 26 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] otherBounds
        end local 25 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
        end local 24 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       130: .line 690
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.WildcardBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets java.util.Iterator org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 117
        end local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi1
        end local 22 // java.util.Iterator it
       131: .line 709
      StackMap locals:
      StackMap stack:
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            ifnull 142
       132: .line 712
            aload 21 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 22 /* it */
        start local 22 // java.util.Iterator it
       133: .line 713
            goto 139
       134: .line 714
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 23 /* bound */
        start local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       135: .line 715
            aload 23 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifne 139
       136: .line 716
            aload 19 /* wildcardBinding */
            getfield org.eclipse.jdt.internal.compiler.lookup.WildcardBinding.boundKind:I
            iconst_2
            if_icmpne 138
       137: .line 717
            aload 0 /* this */
            aload 1 /* context */
            aload 23 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 20 /* t */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            pop
            goto 139
       138: .line 719
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack:
            iconst_0
            ireturn
        end local 23 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
       139: .line 713
      StackMap locals:
      StackMap stack:
            aload 22 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 134
        end local 22 // java.util.Iterator it
        end local 21 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 20 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 19 // org.eclipse.jdt.internal.compiler.lookup.WildcardBinding wildcardBinding
       140: .line 724
            goto 142
       141: .line 725
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution int int org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.compiler.lookup.TypeBound
            dup
            aload 17 /* alpha */
            aload 18 /* ai */
            iconst_4
            invokespecial org.eclipse.jdt.internal.compiler.lookup.TypeBound.<init>:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)V
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        end local 18 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ai
        end local 17 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 16 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding pi
       142: .line 660
      StackMap locals:
      StackMap stack:
            iinc 14 /* i */ 1
      StackMap locals:
      StackMap stack:
       143: iload 14 /* i */
            iload 15 /* length */
            if_icmplt 95
        end local 15 // int length
        end local 14 // int i
        end local 13 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
        end local 12 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] alphas
        end local 11 // org.eclipse.jdt.internal.compiler.lookup.TypeVariableBinding[] parameters
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding g
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding gA
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding gAlpha
        end local 7 // java.util.Map$Entry capt
       144: .line 645
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] java.util.Iterator
      StackMap stack:
            aload 6 /* captIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 84
       145: .line 729
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
       146: .line 730
            iconst_1
            ireturn
        end local 6 // java.util.Iterator captIter
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] mostRecentFormulas
        end local 4 // boolean analyzeNull
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] next
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] first
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0  147     0                           this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0  147     1                        context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0  147     2                          first  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0  147     3                           next  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1  147     4                    analyzeNull  Z
            2  147     5             mostRecentFormulas  [Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            3   82     6                              i  I
            4   82     7                        iLength  I
            6   80     8                         boundI  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            7   80     9                              j  I
            8   80    10                        jLength  I
           10   78    11                         boundJ  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           13   78    12                      iteration  I
           14   76    13                  newConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
           15   76    14  deriveTypeArgumentConstraints  Z
           17   19    15                         boundX  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           55   61    15                      nullHints  J
           64   76    15        typeArgumentConstraints  [Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           66   72    16                              k  I
           67   72    17                         length  I
           74   76    16                         boundX  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           83  147     6                       captIter  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;>;
           85  144     7                           capt  Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
           86  144     8                         gAlpha  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           87  144     9                             gA  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           88  144    10                              g  Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           89  144    11                     parameters  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
           90  144    12                         alphas  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           92  144    13                          theta  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
           93  144    14                              i  I
           94  144    15                         length  I
           96  142    16                             pi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeVariableBinding;
           97  142    17                          alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           99  142    18                             ai  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          101  140    19                wildcardBinding  Lorg/eclipse/jdt/internal/compiler/lookup/WildcardBinding;
          102  140    20                              t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          103  140    21                          three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
          106  111    22                             it  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
          116  131    22                             it  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
          133  140    22                             it  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
          108  110    23                          bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
          113  131    23                            bi1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          118  130    24                          bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
          120  130    25                              r  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          121  130    26                    otherBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
          123  124    27                             bi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          129  130    27                             bi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
          125  129    28                              n  I
          126  129    29                      allBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
          135  139    23                          bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
         Name  Flags
      context  
      first    
      next     

  void addTypeBoundsFromWildcardBound(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18, org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution, int, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;ILorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=8, args_size=7
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
        start local 3 // int boundKind
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
         0: .line 735
            aconst_null
            astore 7 /* formula */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula formula
         1: .line 736
            iload 3 /* boundKind */
            iconst_1
            if_icmpne 7
         2: .line 737
            aload 6 /* bi */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 4
         3: .line 738
            aload 4 /* t */
            aload 5 /* r */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 7 /* formula */
         4: .line 739
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
      StackMap stack:
            aload 4 /* t */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 8
         5: .line 740
            aload 2 /* theta */
            aload 2 /* theta */
            aload 6 /* bi */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 5 /* r */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 7 /* formula */
         6: .line 741
            goto 8
         7: .line 742
      StackMap locals:
      StackMap stack:
            aload 2 /* theta */
            aload 2 /* theta */
            aload 6 /* bi */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution.substitute:(Lorg/eclipse/jdt/internal/compiler/lookup/Substitution;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 5 /* r */
            iconst_2
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 7 /* formula */
         8: .line 744
      StackMap locals:
      StackMap stack:
            aload 7 /* formula */
            ifnull 10
         9: .line 745
            aload 0 /* this */
            aload 1 /* context */
            aload 7 /* formula */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            pop
        10: .line 746
      StackMap locals:
      StackMap stack:
            return
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula formula
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding bi
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding r
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 3 // int boundKind
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceSubstitution theta
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   11     1    context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   11     2      theta  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceSubstitution;
            0   11     3  boundKind  I
            0   11     4          t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   11     5          r  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   11     6         bi  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            1   11     7    formula  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
           Name  Flags
      context    
      theta      
      boundKind  
      t          
      r          
      bi         

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineSameSame(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 751
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 4
         1: .line 752
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_4
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 2
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[]
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         2: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[]
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
         3: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         4: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* boundS */
            aload 2 /* boundT */
            aload 3 /* firstBounds */
            aload 4 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSameWithProperType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 5 /* newConstraint */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula newConstraint
         5: .line 757
            aload 5 /* newConstraint */
            ifnull 7
         6: .line 758
            aload 5 /* newConstraint */
            areturn
         7: .line 759
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula
      StackMap stack:
            aload 0 /* this */
            aload 2 /* boundT */
            aload 1 /* boundS */
            aload 3 /* firstBounds */
            aload 4 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSameWithProperType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            astore 5 /* newConstraint */
         8: .line 760
            aload 5 /* newConstraint */
            ifnull 10
         9: .line 761
            aload 5 /* newConstraint */
            areturn
        10: .line 762
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula newConstraint
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   11     1         boundS  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   11     2         boundT  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   11     3    firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   11     4     nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            5   11     5  newConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    MethodParameters:
             Name  Flags
      boundS       
      boundT       
      firstBounds  
      nextBounds   

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineSameSameWithProperType(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 769
            aload 1 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* u */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
         1: .line 770
            getstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.enableOptimizationForBug543480:Z
            ifeq 5
            aload 0 /* this */
            aload 2 /* boundRight */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isParameterizedDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            ifeq 5
         2: .line 773
            aload 0 /* this */
            aload 2 /* boundRight */
         3: .line 774
            aload 3 /* firstBounds */
            aload 4 /* nextBounds */
         4: .line 773
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporateIntoParameterizedDependencyIfAllArgumentsAreProperTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         5: .line 776
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 5 /* u */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 12
         6: .line 777
            aload 1 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 6 /* alpha */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
         7: .line 778
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 7 /* left */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
         8: .line 779
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 6 /* alpha */
            aload 5 /* u */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.substituteInferenceVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 8 /* right */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
         9: .line 780
            aload 7 /* left */
            aload 8 /* right */
            iconst_4
            aload 1 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 10
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 10
            iconst_0
            goto 11
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        10: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        11: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        12: .line 782
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   13     1    boundLeft  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   13     2   boundRight  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   13     3  firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   13     4   nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1   13     5            u  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   12     6        alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            8   12     7         left  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            9   12     8        right  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
             Name  Flags
      boundLeft    
      boundRight   
      firstBounds  
      nextBounds   

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineSameSubSuper(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 788
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 5 /* alpha */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
         1: .line 789
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* s */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
         2: .line 790
            aload 5 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 7
         3: .line 791
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* t */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
         4: .line 792
            aload 6 /* s */
            aload 7 /* t */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 5
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 5
            iconst_0
            goto 6
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         5: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
         6: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
         7: .line 794
      StackMap locals:
      StackMap stack:
            aload 5 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 12
         8: .line 795
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 7 /* t */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
         9: .line 796
            aload 7 /* t */
            aload 6 /* s */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 10
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 10
            iconst_0
            goto 11
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        10: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        11: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        12: .line 799
      StackMap locals:
      StackMap stack:
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 25
        13: .line 801
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 5 /* alpha */
        14: .line 802
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 6 /* s */
        15: .line 803
            aload 5 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 20
        16: .line 804
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* t */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        17: .line 805
            aload 6 /* s */
            aload 7 /* t */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 18
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 18
            iconst_0
            goto 19
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        18: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        19: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        20: .line 807
      StackMap locals:
      StackMap stack:
            aload 5 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 25
        21: .line 808
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 7 /* t */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        22: .line 809
            aload 7 /* t */
            aload 6 /* s */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 23
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 23
            iconst_0
            goto 24
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        23: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        24: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        25: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* boundS */
            aload 2 /* boundT */
            aload 5 /* alpha */
            aload 3 /* firstBounds */
            aload 4 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineSameSubSuperWithProperType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   26     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   26     1       boundS  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   26     2       boundT  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   26     3  firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   26     4   nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1   26     5        alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            2   26     6            s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            4    7     7            t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            9   12     7            t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           17   20     7            t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           22   25     7            t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
             Name  Flags
      boundS       
      boundT       
      firstBounds  
      nextBounds   

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineSameSubSuperWithProperType(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 820
            aload 1 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 6 /* u */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
         1: .line 822
            getstatic org.eclipse.jdt.internal.compiler.lookup.BoundSet.enableOptimizationForBug543480:Z
            ifeq 5
            aload 0 /* this */
            aload 2 /* boundRight */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.isParameterizedDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            ifeq 5
         2: .line 825
            aload 0 /* this */
            aload 2 /* boundRight */
         3: .line 826
            aload 4 /* firstBounds */
            aload 5 /* nextBounds */
         4: .line 825
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.incorporateIntoParameterizedDependencyIfAllArgumentsAreProperTypes:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         5: .line 828
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 6 /* u */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 16
         6: .line 829
            aload 3 /* alpha */
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            istore 7 /* substitute */
        start local 7 // boolean substitute
         7: .line 830
            iload 7 /* substitute */
            ifeq 8
            aload 6 /* u */
            goto 9
      StackMap locals: int
      StackMap stack:
         8: aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
         9: astore 8 /* left */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        10: .line 831
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* alpha */
            aload 6 /* u */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.substituteInferenceVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* right */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
        11: .line 832
            iload 7 /* substitute */
            aload 9 /* right */
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.notEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ior
            istore 7 /* substitute */
        12: .line 833
            iload 7 /* substitute */
            ifeq 16
        13: .line 834
            aload 8 /* left */
            aload 9 /* right */
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 14
            aload 1 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 14
            iconst_0
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        14: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBound[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding int org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        15: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding left
        end local 7 // boolean substitute
        16: .line 836
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   17     1    boundLeft  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   17     2   boundRight  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   17     3        alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   17     4  firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   17     5   nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1   17     6            u  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   16     7   substitute  Z
           10   16     8         left  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   16     9        right  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
             Name  Flags
      boundLeft    
      boundRight   
      alpha        
      firstBounds  
      nextBounds   

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineSuperAndSub(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
         0: .line 841
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 3 /* alpha */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
         1: .line 842
            aload 3 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 5
         2: .line 844
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_2
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 3
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         3: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
         4: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         5: .line 845
      StackMap locals:
      StackMap stack:
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 11
         6: .line 847
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 3 /* alpha */
         7: .line 848
            aload 3 /* alpha */
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 11
         8: .line 850
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            iconst_3
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 9
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 9
            iconst_0
            goto 10
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable int
         9: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable int int
        10: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        11: .line 852
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   12     1  boundS  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0   12     2  boundT  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1   12     3   alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    MethodParameters:
        Name  Flags
      boundS  
      boundT  

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineEqualSupers(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
         0: .line 857
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 4
         1: .line 859
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 2
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 2
            iconst_0
            goto 3
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         2: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
         3: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         4: .line 860
      StackMap locals:
      StackMap stack:
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         5: .line 862
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 6
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 6
            iconst_0
            goto 7
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         6: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
         7: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         8: .line 863
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    9     1  boundS  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    9     2  boundT  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    MethodParameters:
        Name  Flags
      boundS  
      boundT  

  private boolean isParameterizedDependency(org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound typeBound
         0: .line 867
            aload 1 /* typeBound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 260
            if_icmpne 4
         1: .line 868
            aload 1 /* typeBound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifne 4
         2: .line 869
            aload 1 /* typeBound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedTypeWithActualArguments:()Z
            ifeq 4
         3: .line 867
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound typeBound
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    5     1  typeBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    MethodParameters:
           Name  Flags
      typeBound  

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula incorporateIntoParameterizedDependencyIfAllArgumentsAreProperTypes(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound typeBound
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 874
            aload 0 /* this */
            aload 1 /* typeBound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            aload 2 /* firstBounds */
            aload 3 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getProperTypesForAllInferenceVariablesOrNull:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Collection;
            astore 4 /* properTypesForAllInferenceVariables */
        start local 4 // java.util.Collection properTypesForAllInferenceVariables
         1: .line 875
            aload 4 /* properTypesForAllInferenceVariables */
            ifnull 3
         2: .line 876
            aload 0 /* this */
            aload 4 /* properTypesForAllInferenceVariables */
            aload 1 /* typeBound */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.combineWithProperTypes:(Ljava/util/Collection;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         3: .line 878
      StackMap locals: java.util.Collection
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.util.Collection properTypesForAllInferenceVariables
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound typeBound
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0    4     0                                 this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    4     1                            typeBound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    4     2                          firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    4     3                           nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1    4     4  properTypesForAllInferenceVariables  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
    MethodParameters:
             Name  Flags
      typeBound    
      firstBounds  
      nextBounds   

  private java.util.Collection<org.eclipse.jdt.internal.compiler.lookup.TypeBound> getProperTypesForAllInferenceVariablesOrNull(org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 883
            aload 0 /* this */
            aload 2 /* firstBounds */
            aload 3 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.properTypesByInferenceVariable:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Map;
            astore 4 /* properTypesByInferenceVariable */
        start local 4 // java.util.Map properTypesByInferenceVariable
         1: .line 884
            aload 4 /* properTypesByInferenceVariable */
            invokeinterface java.util.Map.size:()I
            ifne 3
         2: .line 885
            aconst_null
            areturn
         3: .line 887
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parameterizedType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getInferenceVariables:(Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Ljava/util/Set;
            astore 5 /* inferenceVariables */
        start local 5 // java.util.Set inferenceVariables
         4: .line 888
            aload 4 /* properTypesByInferenceVariable */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            aload 5 /* inferenceVariables */
            invokeinterface java.util.Set.containsAll:(Ljava/util/Collection;)Z
            ifeq 6
         5: .line 889
            aload 4 /* properTypesByInferenceVariable */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
         6: .line 891
      StackMap locals: java.util.Set
      StackMap stack:
            aconst_null
            areturn
        end local 5 // java.util.Set inferenceVariables
        end local 4 // java.util.Map properTypesByInferenceVariable
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    7     0                            this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    7     1               parameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            0    7     2                     firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    7     3                      nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1    7     4  properTypesByInferenceVariable  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
            4    7     5              inferenceVariables  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
    MethodParameters:
                   Name  Flags
      parameterizedType  
      firstBounds        
      nextBounds         

  private java.util.Map<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBound> properTypesByInferenceVariable(org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 895
            aload 0 /* this */
            aload 1 /* firstBounds */
            aload 2 /* nextBounds */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.getBoundsStream:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/stream/Stream;
         1: .line 896
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jdt/internal/compiler/lookup/BoundSet.lambda$0(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z (6)
                  (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         2: .line 897
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jdt/internal/compiler/lookup/BoundSet.lambda$1(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z (6)
                  (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         3: .line 898
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jdt/internal/compiler/lookup/BoundSet.lambda$2(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable; (6)
                  (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokestatic java.util.function.Function.identity:()Ljava/util/function/Function;
         4: .line 900
            invokedynamic apply()Ljava/util/function/BinaryOperator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
                  org/eclipse/jdt/internal/compiler/lookup/BoundSet.lambda$3(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound; (6)
                  (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
         5: .line 898
            invokestatic java.util.stream.Collectors.toMap:(Ljava/util/function/Function;Ljava/util/function/Function;Ljava/util/function/BinaryOperator;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.Map
         6: .line 895
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    7     1  firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    7     2   nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    Signature: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
    MethodParameters:
             Name  Flags
      firstBounds  
      nextBounds   

  private java.util.stream.Stream<org.eclipse.jdt.internal.compiler.lookup.TypeBound> getBoundsStream(org.eclipse.jdt.internal.compiler.lookup.TypeBound[], org.eclipse.jdt.internal.compiler.lookup.TypeBound[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/stream/Stream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
         0: .line 904
            aload 1 /* firstBounds */
            aload 2 /* nextBounds */
            if_acmpne 2
         1: .line 905
            aload 1 /* firstBounds */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            areturn
         2: .line 911
      StackMap locals:
      StackMap stack:
            aload 2 /* nextBounds */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            aload 1 /* firstBounds */
            invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] nextBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] firstBounds
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    3     1  firstBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    3     2   nextBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    Signature: ([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Ljava/util/stream/Stream<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
    MethodParameters:
             Name  Flags
      firstBounds  
      nextBounds   

  private java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable> getInferenceVariables(org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
         0: .line 915
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 2 /* inferenceVariables */
        start local 2 // java.util.Set inferenceVariables
         1: .line 916
            aload 1 /* parameterizedType */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 5
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding java.util.Set top int int org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* argument */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argument
         3: .line 917
            aload 3 /* argument */
            aload 2 /* inferenceVariables */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.collectInferenceVariables:(Ljava/util/Set;)V
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding argument
         4: .line 916
            iinc 4 1
      StackMap locals:
      StackMap stack:
         5: iload 4
            iload 5
            if_icmplt 2
         6: .line 919
            aload 2 /* inferenceVariables */
            areturn
        end local 2 // java.util.Set inferenceVariables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding parameterizedType
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    7     1   parameterizedType  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            1    7     2  inferenceVariables  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            3    4     3            argument  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    Signature: (Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;)Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
    MethodParameters:
                   Name  Flags
      parameterizedType  

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula combineWithProperTypes(java.util.Collection<org.eclipse.jdt.internal.compiler.lookup.TypeBound>, org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Ljava/util/Collection;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // java.util.Collection properTypesForAllInferenceVariables
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
         0: .line 925
            aload 1 /* properTypesForAllInferenceVariables */
            invokeinterface java.util.Collection.size:()I
            ifne 2
         1: .line 926
            aconst_null
            areturn
         2: .line 928
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* isAnyLeftSoft */
        start local 3 // boolean isAnyLeftSoft
         3: .line 929
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 4 /* left */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable left
         4: .line 930
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* right */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
         5: .line 931
            aload 1 /* properTypesForAllInferenceVariables */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 12
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Collection org.eclipse.jdt.internal.compiler.lookup.TypeBound int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 6 /* properTypeForInferenceVariable */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBound properTypeForInferenceVariable
         7: .line 932
            aload 6 /* properTypeForInferenceVariable */
            astore 8 /* boundLeft */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
         8: .line 933
            aload 8 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 9 /* alpha */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
         9: .line 934
            aload 8 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* u */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
        10: .line 935
            iload 3 /* isAnyLeftSoft */
            aload 8 /* boundLeft */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ior
            istore 3 /* isAnyLeftSoft */
        11: .line 936
            aload 5 /* right */
            aload 9 /* alpha */
            aload 10 /* u */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.substituteInferenceVariable:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* right */
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding u
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundLeft
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.TypeBound properTypeForInferenceVariable
        12: .line 931
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 938
            aload 4 /* left */
            aload 5 /* right */
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iload 3 /* isAnyLeftSoft */
            ifne 14
            aload 2 /* boundRight */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 14
            iconst_0
            goto 15
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Collection org.eclipse.jdt.internal.compiler.lookup.TypeBound int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
        14: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Collection org.eclipse.jdt.internal.compiler.lookup.TypeBound int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.TypeBinding int int
        15: invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding right
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable left
        end local 3 // boolean isAnyLeftSoft
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundRight
        end local 1 // java.util.Collection properTypesForAllInferenceVariables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                                 Name  Signature
            0   16     0                                 this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   16     1  properTypesForAllInferenceVariables  Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
            0   16     2                           boundRight  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            3   16     3                        isAnyLeftSoft  Z
            4   16     4                                 left  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            5   16     5                                right  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            7   12     6       properTypeForInferenceVariable  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            8   12     8                            boundLeft  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            9   12     9                                alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           10   12    10                                    u  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    Signature: (Ljava/util/Collection<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    MethodParameters:
                                     Name  Flags
      properTypesForAllInferenceVariables  
      boundRight                           

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] deriveTypeArgumentConstraints(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
         0: .line 948
            aload 0 /* this */
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superTypesWithCommonGenericType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* supers */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] supers
         1: .line 949
            aload 3 /* supers */
            ifnull 5
         2: .line 950
            aload 0 /* this */
            aload 3 /* supers */
            iconst_0
            aaload
            aload 3 /* supers */
            iconst_1
            aaload
            aload 1 /* boundS */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 3
            aload 2 /* boundT */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.isSoft:Z
            ifne 3
            iconst_0
            goto 4
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
         3: iconst_1
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBound org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
         4: invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.typeArgumentEqualityConstraints:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            areturn
         5: .line 951
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] supers
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundT
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundS
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    6     1  boundS  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    6     2  boundT  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            1    6     3  supers  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
        Name  Flags
      boundS  
      boundT  

  private org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[] typeArgumentEqualityConstraints(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        start local 3 // boolean isSoft
         0: .line 955
            aload 1 /* s */
            ifnull 1
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 260
            if_icmpne 1
            aload 2 /* t */
            ifnull 1
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.kind:()I
            sipush 260
            if_icmpeq 2
         1: .line 956
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 957
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 2 /* t */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 4
         3: .line 958
            aconst_null
            areturn
         4: .line 959
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.typeArguments:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* sis */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] sis
         5: .line 960
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.typeArguments:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 5 /* tis */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] tis
         6: .line 961
            aload 4 /* sis */
            ifnull 7
            aload 5 /* tis */
            ifnull 7
            aload 4 /* sis */
            arraylength
            aload 5 /* tis */
            arraylength
            if_icmpeq 8
         7: .line 962
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aconst_null
            areturn
         8: .line 963
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* result */
        start local 6 // java.util.List result
         9: .line 964
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 17
        11: .line 965
      StackMap locals: java.util.List int
      StackMap stack:
            aload 4 /* sis */
            iload 7 /* i */
            aaload
            astore 8 /* si */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        12: .line 966
            aload 5 /* tis */
            iload 7 /* i */
            aaload
            astore 9 /* ti */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        13: .line 967
            aload 8 /* si */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isWildcard:()Z
            ifne 16
            aload 9 /* ti */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isWildcard:()Z
            ifne 16
            aload 8 /* si */
            aload 9 /* ti */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 15
        14: .line 968
            goto 16
        15: .line 969
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 6 /* result */
            aload 8 /* si */
            aload 9 /* ti */
            iconst_4
            iload 3 /* isSoft */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula.create:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;IZ)Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding ti
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding si
        16: .line 964
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 7 /* i */
            aload 4 /* sis */
            arraylength
            if_icmplt 11
        end local 7 // int i
        18: .line 971
            aload 6 /* result */
            invokeinterface java.util.List.size:()I
            ifle 20
        19: .line 972
            aload 6 /* result */
            aload 6 /* result */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintTypeFormula[]
            areturn
        20: .line 973
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.util.List result
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] tis
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] sis
        end local 3 // boolean isSoft
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   21     1       s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   21     2       t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   21     3  isSoft  Z
            5   21     4     sis  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            6   21     5     tis  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            9   21     6  result  Ljava/util/List<Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;>;
           10   18     7       i  I
           12   16     8      si  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           13   16     9      ti  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
        Name  Flags
      s       
      t       
      isSoft  

  public boolean reduceOneConstraint(org.eclipse.jdt.internal.compiler.lookup.InferenceContext18, org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula currentConstraint
         0: .line 982
            aload 2 /* currentConstraint */
            aload 1 /* context */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula.reduce:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Ljava/lang/Object;
            astore 3 /* result */
        start local 3 // java.lang.Object result
         1: .line 983
            aload 3 /* result */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.FALSE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 3
         2: .line 984
            iconst_0
            ireturn
         3: .line 985
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3 /* result */
            getstatic org.eclipse.jdt.internal.compiler.lookup.ReductionResult.TRUE:Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintTypeFormula;
            if_acmpne 5
         4: .line 986
            iconst_1
            ireturn
         5: .line 987
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            aload 2 /* currentConstraint */
            if_acmpne 7
         6: .line 989
            new java.lang.IllegalStateException
            dup
            ldc "Failed to reduce constraint formula"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 991
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            ifnull 21
         8: .line 992
            aload 3 /* result */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            ifeq 11
         9: .line 993
            aload 0 /* this */
            aload 1 /* context */
            aload 3 /* result */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 21
        10: .line 994
            iconst_0
            ireturn
        11: .line 995
      StackMap locals:
      StackMap stack:
            aload 3 /* result */
            instanceof org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[]
            ifeq 20
        12: .line 996
            aload 3 /* result */
            checkcast org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[]
            astore 4 /* resultArray */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] resultArray
        13: .line 997
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        14: goto 18
        15: .line 998
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 4 /* resultArray */
            iload 5 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.reduceOneConstraint:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;)Z
            ifne 17
        16: .line 999
            iconst_0
            ireturn
        17: .line 997
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 4 /* resultArray */
            arraylength
            if_icmplt 15
        end local 5 // int i
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula[] resultArray
        19: .line 1000
            goto 21
        20: .line 1001
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* result */
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            aload 1 /* context */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addBound:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)V
        21: .line 1004
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.lang.Object result
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.ConstraintFormula currentConstraint
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 context
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   22     1            context  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            0   22     2  currentConstraint  Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
            1   22     3             result  Ljava/lang/Object;
           13   19     4        resultArray  [Lorg/eclipse/jdt/internal/compiler/lookup/ConstraintFormula;
           14   19     5                  i  I
    Exceptions:
      throws org.eclipse.jdt.internal.compiler.lookup.InferenceFailureException
    MethodParameters:
                   Name  Flags
      context            
      currentConstraint  

  public boolean dependsOnResolutionOf(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable beta
         0: .line 1012
            aload 1 /* alpha */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 1 /* alpha */
         1: .line 1013
            aload 2 /* beta */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            astore 2 /* beta */
         2: .line 1014
            aload 1 /* alpha */
            aload 2 /* beta */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 4
         3: .line 1015
            iconst_1
            ireturn
         4: .line 1016
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* captureIter */
        start local 3 // java.util.Iterator captureIter
         5: .line 1017
            iconst_0
            istore 4 /* betaIsInCaptureLhs */
        start local 4 // boolean betaIsInCaptureLhs
         6: .line 1018
            goto 21
         7: .line 1019
      StackMap locals: java.util.Iterator int
      StackMap stack:
            aload 3 /* captureIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 5 /* entry */
        start local 5 // java.util.Map$Entry entry
         8: .line 1020
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 6 /* g */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding g
         9: .line 1021
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        10: goto 20
        11: .line 1022
      StackMap locals: java.util.Map$Entry org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding int
      StackMap stack:
            aload 6 /* g */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 7 /* i */
            aaload
            aload 1 /* alpha */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 17
        12: .line 1025
            aload 5 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 8 /* captured */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding captured
        13: .line 1026
            aload 8 /* captured */
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 2 /* beta */
            aastore
            iconst_m1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 15
        14: .line 1027
            iconst_1
            ireturn
        15: .line 1028
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
      StackMap stack:
            aload 6 /* g */
            iconst_1
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 2 /* beta */
            aastore
            iload 7 /* i */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.mentionsAny:([Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;I)Z
            ifeq 19
        16: .line 1029
            iconst_1
            ireturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding captured
        17: .line 1030
      StackMap locals:
      StackMap stack:
            aload 6 /* g */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 7 /* i */
            aaload
            aload 2 /* beta */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 19
        18: .line 1031
            iconst_1
            istore 4 /* betaIsInCaptureLhs */
        19: .line 1021
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            aload 6 /* g */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            if_icmplt 11
        end local 7 // int i
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding g
        end local 5 // java.util.Map$Entry entry
        21: .line 1018
      StackMap locals:
      StackMap stack:
            aload 3 /* captureIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        22: .line 1035
            iload 4 /* betaIsInCaptureLhs */
            ifeq 26
        23: .line 1036
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 2 /* beta */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 5 /* sets */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets sets
        24: .line 1037
            aload 5 /* sets */
            ifnull 29
            aload 5 /* sets */
            aload 1 /* alpha */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.hasDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 29
        25: .line 1038
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets sets
        26: .line 1040
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* alpha */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 5 /* sets */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets sets
        27: .line 1041
            aload 5 /* sets */
            ifnull 29
            aload 5 /* sets */
            aload 2 /* beta */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.hasDependency:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 29
        28: .line 1042
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets sets
        29: .line 1044
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // boolean betaIsInCaptureLhs
        end local 3 // java.util.Iterator captureIter
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable beta
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   30     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   30     1               alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   30     2                beta  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            5   30     3         captureIter  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;>;
            6   30     4  betaIsInCaptureLhs  Z
            8   21     5               entry  Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
            9   21     6                   g  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           10   21     7                   i  I
           13   17     8            captured  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
           24   26     5                sets  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
           27   29     5                sets  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
    MethodParameters:
       Name  Flags
      alpha  
      beta   

  java.util.List<java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>> computeConnectedComponents(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/List;
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] inferenceVariables
         0: .line 1049
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* allEdges */
        start local 2 // java.util.Map allEdges
         1: .line 1050
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 15
         3: .line 1051
      StackMap locals: java.util.Map int
      StackMap stack:
            aload 1 /* inferenceVariables */
            iload 3 /* i */
            aaload
            astore 4 /* iv1 */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv1
         4: .line 1052
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* targetSet */
        start local 5 // java.util.HashSet targetSet
         5: .line 1053
            aload 2 /* allEdges */
            aload 4 /* iv1 */
            aload 5 /* targetSet */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1054
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         7: goto 13
         8: .line 1055
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.HashSet int
      StackMap stack:
            aload 1 /* inferenceVariables */
            iload 6 /* j */
            aaload
            astore 7 /* iv2 */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv2
         9: .line 1056
            aload 0 /* this */
            aload 4 /* iv1 */
            aload 7 /* iv2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.dependsOnResolutionOf:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifne 10
            aload 0 /* this */
            aload 7 /* iv2 */
            aload 4 /* iv1 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.dependsOnResolutionOf:(Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Z
            ifeq 12
        10: .line 1057
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
      StackMap stack:
            aload 5 /* targetSet */
            aload 7 /* iv2 */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1058
            aload 2 /* allEdges */
            aload 7 /* iv2 */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            aload 4 /* iv1 */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv2
        12: .line 1054
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        13: iload 6 /* j */
            iload 3 /* i */
            if_icmplt 8
        end local 6 // int j
        end local 5 // java.util.HashSet targetSet
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv1
        14: .line 1050
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* inferenceVariables */
            arraylength
            if_icmplt 3
        end local 3 // int i
        16: .line 1063
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* visited */
        start local 3 // java.util.Set visited
        17: .line 1064
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allComponents */
        start local 4 // java.util.List allComponents
        18: .line 1065
            aload 1 /* inferenceVariables */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 25
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] java.util.Map java.util.Set java.util.List top int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
        19: aload 8
            iload 6
            aaload
            astore 5 /* inferenceVariable */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
        20: .line 1066
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* component */
        start local 9 // java.util.Set component
        21: .line 1067
            aload 0 /* this */
            aload 9 /* component */
            aload 5 /* inferenceVariable */
            aload 2 /* allEdges */
            aload 3 /* visited */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addConnected:(Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Map;Ljava/util/Set;)V
        22: .line 1068
            aload 9 /* component */
            invokeinterface java.util.Set.isEmpty:()Z
            ifne 24
        23: .line 1069
            aload 4 /* allComponents */
            aload 9 /* component */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.util.Set component
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable inferenceVariable
        24: .line 1065
      StackMap locals:
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        25: iload 6
            iload 7
            if_icmplt 19
        26: .line 1071
            aload 4 /* allComponents */
            areturn
        end local 4 // java.util.List allComponents
        end local 3 // java.util.Set visited
        end local 2 // java.util.Map allEdges
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] inferenceVariables
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   27     0                this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   27     1  inferenceVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1   27     2            allEdges  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
            2   16     3                   i  I
            4   14     4                 iv1  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            5   14     5           targetSet  Ljava/util/HashSet<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            7   14     6                   j  I
            9   12     7                 iv2  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           17   27     3             visited  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
           18   27     4       allComponents  Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
           20   24     5   inferenceVariable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           21   24     9           component  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
    Signature: ([Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Ljava/util/List<Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
    MethodParameters:
                    Name  Flags
      inferenceVariables  

  private void addConnected(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, java.util.Map<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>>, java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>);
    descriptor: (Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Map;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // java.util.Set component
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable seed
        start local 3 // java.util.Map allEdges
        start local 4 // java.util.Set visited
         0: .line 1077
            aload 4 /* visited */
            aload 2 /* seed */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 1079
            aload 1 /* component */
            aload 2 /* seed */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1080
            aload 3 /* allEdges */
            aload 2 /* seed */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 5
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Map java.util.Set top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            astore 5 /* next */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable next
         4: .line 1081
            aload 0 /* this */
            aload 1 /* component */
            aload 5 /* next */
            aload 3 /* allEdges */
            aload 4 /* visited */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.addConnected:(Ljava/util/Set;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Map;Ljava/util/Set;)V
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable next
         5: .line 1080
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         6: .line 1083
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.util.Set org.eclipse.jdt.internal.compiler.lookup.InferenceVariable java.util.Map java.util.Set
      StackMap stack:
            return
        end local 4 // java.util.Set visited
        end local 3 // java.util.Map allEdges
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable seed
        end local 1 // java.util.Set component
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    7     1  component  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            0    7     2       seed  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0    7     3   allEdges  Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;
            0    7     4    visited  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            4    5     5       next  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Map<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;>;Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;)V
    MethodParameters:
           Name  Flags
      component  
      seed       
      allEdges   
      visited    

  public boolean hasCaptureBound(java.util.Set<org.eclipse.jdt.internal.compiler.lookup.InferenceVariable>);
    descriptor: (Ljava/util/Set;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // java.util.Set variableSet
         0: .line 1087
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* captureIter */
        start local 2 // java.util.Iterator captureIter
         1: .line 1088
            goto 9
         2: .line 1089
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* captureIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding
            astore 3 /* g */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding g
         3: .line 1090
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 1091
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding int
      StackMap stack:
            aload 1 /* variableSet */
            aload 3 /* g */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iload 4 /* i */
            aaload
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 1092
            iconst_1
            ireturn
         7: .line 1090
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 3 /* g */
            getfield org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding.arguments:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            arraylength
            if_icmplt 5
        end local 4 // int i
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding g
         9: .line 1088
      StackMap locals:
      StackMap stack:
            aload 2 /* captureIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 1094
            iconst_0
            ireturn
        end local 2 // java.util.Iterator captureIter
        end local 1 // java.util.Set variableSet
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   11     1  variableSet  Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;
            1   11     2  captureIter  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
            3    9     3            g  Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            4    9     4            i  I
    Signature: (Ljava/util/Set<Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;>;)Z
    MethodParameters:
             Name  Flags
      variableSet  

  public boolean hasOnlyTrivialExceptionBounds(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
         0: .line 1099
            aload 2 /* upperBounds */
            ifnull 8
         1: .line 1100
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 1101
      StackMap locals: int
      StackMap stack:
            aload 2 /* upperBounds */
            iload 3 /* i */
            aaload
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            lookupswitch { // 3
                    1: 4
                   21: 4
                   25: 4
              default: 5
          }
         4: .line 1105
      StackMap locals:
      StackMap stack:
            goto 6
         5: .line 1107
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         6: .line 1100
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 2 /* upperBounds */
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 1110
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    9     1     variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0    9     2  upperBounds  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            2    8     3            i  I
    MethodParameters:
             Name  Flags
      variable     
      upperBounds  

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] upperBounds(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        start local 2 // boolean onlyProper
         0: .line 1118
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* three */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 1119
            aload 3 /* three */
            ifnull 2
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.subBounds:Ljava/util/Set;
            ifnonnull 3
         2: .line 1120
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         3: .line 1121
      StackMap locals:
      StackMap stack:
            aload 3 /* three */
            iload 2 /* onlyProper */
            aload 1 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.upperBounds:(ZLorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 2 // boolean onlyProper
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    4     1    variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0    4     2  onlyProper  Z
            1    4     3       three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
    MethodParameters:
            Name  Flags
      variable    
      onlyProper  

  org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] lowerBounds(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, boolean);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Z)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        start local 2 // boolean onlyProper
         0: .line 1131
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* three */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 1132
            aload 3 /* three */
            ifnull 2
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            ifnonnull 3
         2: .line 1133
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            getstatic org.eclipse.jdt.internal.compiler.lookup.Binding.NO_TYPES:[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
         3: .line 1134
      StackMap locals:
      StackMap stack:
            aload 3 /* three */
            iload 2 /* onlyProper */
            aload 1 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.lowerBounds:(ZLorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 2 // boolean onlyProper
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    4     1    variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0    4     2  onlyProper  Z
            1    4     3       three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
    MethodParameters:
            Name  Flags
      variable    
      onlyProper  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
         0: .line 1143
            new java.lang.StringBuffer
            dup
            ldc "Type Bounds:\n"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 1144
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.flatten:()[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            astore 2 /* flattened */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] flattened
         2: .line 1145
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 6
         4: .line 1146
      StackMap locals: java.lang.StringBuffer org.eclipse.jdt.internal.compiler.lookup.TypeBound[] int
      StackMap stack:
            aload 1 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 2 /* flattened */
            iload 3 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBound.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         5: .line 1145
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* flattened */
            arraylength
            if_icmplt 4
        end local 3 // int i
         7: .line 1148
            aload 1 /* buf */
            ldc "Capture Bounds:\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         8: .line 1149
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.captures:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* captIter */
        start local 3 // java.util.Iterator captIter
         9: .line 1150
            goto 14
        10: .line 1151
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet java.lang.StringBuffer org.eclipse.jdt.internal.compiler.lookup.TypeBound[] java.util.Iterator
      StackMap stack:
            aload 3 /* captIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* capt */
        start local 4 // java.util.Map$Entry capt
        11: .line 1152
            aload 4 /* capt */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            astore 5 /* lhs */
        start local 5 // java.lang.String lhs
        12: .line 1153
            aload 4 /* capt */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.shortReadableName:()[C
            invokestatic java.lang.String.valueOf:([C)Ljava/lang/String;
            astore 6 /* rhs */
        start local 6 // java.lang.String rhs
        13: .line 1154
            aload 1 /* buf */
            bipush 9
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 5 /* lhs */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc " = capt("
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            aload 6 /* rhs */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            ldc ")\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 6 // java.lang.String rhs
        end local 5 // java.lang.String lhs
        end local 4 // java.util.Map$Entry capt
        14: .line 1150
      StackMap locals:
      StackMap stack:
            aload 3 /* captIter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 1156
            aload 1 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.util.Iterator captIter
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBound[] flattened
        end local 1 // java.lang.StringBuffer buf
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            1   16     1        buf  Ljava/lang/StringBuffer;
            2   16     2  flattened  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            3    7     3          i  I
            9   16     3   captIter  Ljava/util/Iterator<Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;>;
           11   14     4       capt  Ljava/util/Map$Entry<Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;>;
           12   14     5        lhs  Ljava/lang/String;
           13   14     6        rhs  Ljava/lang/String;

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding findWrapperTypeBound(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
         0: .line 1160
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* variable */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 2 /* three */
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 1161
            aload 2 /* three */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 1162
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            aload 2 /* three */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.findSingleWrapperType:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            areturn
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    3     1  variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1    3     2     three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
    MethodParameters:
          Name  Flags
      variable  

  public boolean condition18_5_2_bullet_3_3_1(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
         0: .line 1168
            aload 2 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isBaseType:()Z
            ifeq 1
            iconst_0
            ireturn
         1: .line 1169
      StackMap locals:
      StackMap stack:
            aload 2 /* targetType */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.parameterizedWithWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            ifnull 2
            iconst_0
            ireturn
         2: .line 1170
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* alpha */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* ts */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets ts
         3: .line 1171
            aload 3 /* ts */
            ifnonnull 5
         4: .line 1172
            iconst_0
            ireturn
         5: .line 1173
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            ifnull 12
         6: .line 1174
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* bounds */
        start local 4 // java.util.Iterator bounds
         7: .line 1175
            goto 11
         8: .line 1176
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* bounds */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
         9: .line 1177
            aload 5 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.parameterizedWithWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            ifnull 11
        10: .line 1178
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        11: .line 1175
      StackMap locals:
      StackMap stack:
            aload 4 /* bounds */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 4 // java.util.Iterator bounds
        12: .line 1181
      StackMap locals:
      StackMap stack:
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            ifnull 19
        13: .line 1182
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* bounds */
        start local 4 // java.util.Iterator bounds
        14: .line 1183
            goto 18
        15: .line 1184
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* bounds */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        16: .line 1185
            aload 5 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.parameterizedWithWildcard:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/ParameterizedTypeBinding;
            ifnull 18
        17: .line 1186
            iconst_1
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        18: .line 1183
      StackMap locals:
      StackMap stack:
            aload 4 /* bounds */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 4 // java.util.Iterator bounds
        19: .line 1191
      StackMap locals:
      StackMap stack:
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            ifnull 36
        20: .line 1192
            new java.util.ArrayList
            dup
            aload 3 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 4 /* superBounds */
        start local 4 // java.util.ArrayList superBounds
        21: .line 1193
            aload 4 /* superBounds */
            invokevirtual java.util.ArrayList.size:()I
            istore 5 /* len */
        start local 5 // int len
        22: .line 1194
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        23: goto 35
        24: .line 1195
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 4 /* superBounds */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 7 /* s1 */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s1
        25: .line 1196
            iload 6 /* i */
            iconst_1
            iadd
            istore 8 /* j */
        start local 8 // int j
        26: goto 33
        27: .line 1197
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding int
      StackMap stack:
            aload 4 /* superBounds */
            iload 8 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 9 /* s2 */
        start local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s2
        28: .line 1198
            aload 0 /* this */
            aload 7 /* s1 */
            aload 9 /* s2 */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superTypesWithCommonGenericType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 10 /* supers */
        start local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] supers
        29: .line 1199
            aload 10 /* supers */
            ifnull 32
        30: .line 1205
            aload 10 /* supers */
            iconst_0
            aaload
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 32
            aload 10 /* supers */
            iconst_1
            aaload
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ifeq 32
            aload 10 /* supers */
            iconst_0
            aaload
            aload 10 /* supers */
            iconst_1
            aaload
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifne 32
        31: .line 1206
            iconst_1
            ireturn
        end local 10 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] supers
        end local 9 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s2
        32: .line 1196
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        33: iload 8 /* j */
            iload 5 /* len */
            if_icmplt 27
        end local 8 // int j
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s1
        34: .line 1194
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 6 /* i */
            iload 5 /* len */
            if_icmplt 24
        end local 6 // int i
        end local 5 // int len
        end local 4 // java.util.ArrayList superBounds
        36: .line 1211
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets ts
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   37     0         this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   37     1        alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   37     2   targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   37     3           ts  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
            7   12     4       bounds  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
            9   11     5        bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           14   19     4       bounds  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
           16   18     5        bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           21   36     4  superBounds  Ljava/util/ArrayList<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
           22   36     5          len  I
           23   36     6            i  I
           25   34     7           s1  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           26   34     8            j  I
           28   32     9           s2  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           29   32    10       supers  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
            Name  Flags
      alpha       
      targetType  

  public boolean condition18_5_2_bullet_3_3_2(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.InferenceContext18);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 ctx18
         0: .line 1218
            aload 2 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
            ifne 1
            iconst_0
            ireturn
         1: .line 1219
      StackMap locals:
      StackMap stack:
            aload 2 /* targetType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* g */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding g
         2: .line 1220
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* alpha */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.InferenceVariable.prototype:()Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 5 /* ts */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets ts
         3: .line 1221
            aload 5 /* ts */
            ifnonnull 5
         4: .line 1222
            iconst_0
            ireturn
         5: .line 1224
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            aload 5 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            ifnull 12
         6: .line 1225
            aload 5 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* boundIterator */
        start local 6 // java.util.Iterator boundIterator
         7: .line 1226
            goto 11
         8: .line 1227
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* boundIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 7 /* b */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBound b
         9: .line 1228
            aload 0 /* this */
            aload 4 /* g */
            aload 7 /* b */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* ctx18 */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superOnlyRaw:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
            ifeq 11
        10: .line 1229
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBound b
        11: .line 1226
      StackMap locals:
      StackMap stack:
            aload 6 /* boundIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        end local 6 // java.util.Iterator boundIterator
        12: .line 1232
      StackMap locals:
      StackMap stack:
            aload 5 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            ifnull 19
        13: .line 1233
            aload 5 /* ts */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.superBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6 /* boundIterator */
        start local 6 // java.util.Iterator boundIterator
        14: .line 1234
            goto 18
        15: .line 1235
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 6 /* boundIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 7 /* b */
        start local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBound b
        16: .line 1236
            aload 0 /* this */
            aload 4 /* g */
            aload 7 /* b */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 3 /* ctx18 */
            getfield org.eclipse.jdt.internal.compiler.lookup.InferenceContext18.environment:Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superOnlyRaw:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
            ifeq 18
        17: .line 1237
            iconst_1
            ireturn
        end local 7 // org.eclipse.jdt.internal.compiler.lookup.TypeBound b
        18: .line 1234
      StackMap locals:
      StackMap stack:
            aload 6 /* boundIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        end local 6 // java.util.Iterator boundIterator
        19: .line 1240
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets ts
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding g
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.InferenceContext18 ctx18
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding targetType
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable alpha
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   20     1          alpha  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   20     2     targetType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   20     3          ctx18  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceContext18;
            2   20     4              g  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            3   20     5             ts  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
            7   12     6  boundIterator  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
           14   19     6  boundIterator  Ljava/util/Iterator<Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;>;
            9   11     7              b  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
           16   18     7              b  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    MethodParameters:
            Name  Flags
      alpha       
      targetType  
      ctx18       

  private boolean superOnlyRaw(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding g
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment env
         0: .line 1243
            aload 2 /* s */
            instanceof org.eclipse.jdt.internal.compiler.lookup.InferenceVariable
            ifeq 2
         1: .line 1244
            iconst_0
            ireturn
         2: .line 1245
      StackMap locals:
      StackMap stack:
            aload 2 /* s */
            aload 1 /* g */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* superType */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superType
         3: .line 1246
            aload 4 /* superType */
            ifnull 5
            aload 4 /* superType */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isParameterizedType:()Z
            ifne 5
         4: .line 1247
            aload 2 /* s */
            aload 3 /* env */
            aload 1 /* g */
            iconst_0
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.convertToRawType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Z)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isCompatibleWith:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ireturn
         5: .line 1248
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding superType
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment env
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding g
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0    6     1          g  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     2          s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0    6     3        env  Lorg/eclipse/jdt/internal/compiler/lookup/LookupEnvironment;
            3    6     4  superType  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    MethodParameters:
      Name  Flags
      g     
      s     
      env   

  protected org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] superTypesWithCommonGenericType(org.eclipse.jdt.internal.compiler.lookup.TypeBinding, org.eclipse.jdt.internal.compiler.lookup.TypeBinding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
         0: .line 1252
            aload 1 /* s */
            ifnull 1
            aload 1 /* s */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpeq 1
            aload 2 /* t */
            ifnull 1
            aload 2 /* t */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBinding.id:I
            iconst_1
            if_icmpne 2
         1: .line 1253
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 1254
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.original:()Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 4
         3: .line 1255
            iconst_2
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 1 /* s */
            aastore
            dup
            iconst_1
            aload 2 /* t */
            aastore
            areturn
         4: .line 1257
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.findSuperTypeOriginatingFrom:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 3 /* tSuper */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding tSuper
         5: .line 1258
            aload 3 /* tSuper */
            ifnull 7
         6: .line 1259
            iconst_2
            anewarray org.eclipse.jdt.internal.compiler.lookup.TypeBinding
            dup
            iconst_0
            aload 1 /* s */
            aastore
            dup
            iconst_1
            aload 3 /* tSuper */
            aastore
            areturn
         7: .line 1261
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding
      StackMap stack:
            aload 0 /* this */
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.superclass:()Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superTypesWithCommonGenericType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] result
         8: .line 1262
            aload 4 /* result */
            ifnull 10
         9: .line 1263
            aload 4 /* result */
            areturn
        10: .line 1264
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.TypeBinding[]
      StackMap stack:
            aload 1 /* s */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.superInterfaces:()[Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
            astore 5 /* superInterfaces */
        start local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
        11: .line 1265
            aload 5 /* superInterfaces */
            ifnull 19
        12: .line 1266
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        13: goto 18
        14: .line 1267
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* superInterfaces */
            iload 6 /* i */
            aaload
            aload 2 /* t */
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.BoundSet.superTypesWithCommonGenericType:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)[Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            astore 4 /* result */
        15: .line 1268
            aload 4 /* result */
            ifnull 17
        16: .line 1269
            aload 4 /* result */
            areturn
        17: .line 1266
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 5 /* superInterfaces */
            arraylength
            if_icmplt 14
        end local 6 // int i
        19: .line 1272
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding[] superInterfaces
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding[] result
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding tSuper
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding t
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBinding s
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   20     1                s  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            0   20     2                t  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            5   20     3           tSuper  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            8   20     4           result  [Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
           11   20     5  superInterfaces  [Lorg/eclipse/jdt/internal/compiler/lookup/ReferenceBinding;
           13   19     6                i  I
    MethodParameters:
      Name  Flags
      s     
      t     

  public org.eclipse.jdt.internal.compiler.lookup.TypeBinding getEquivalentOuterVariable(org.eclipse.jdt.internal.compiler.lookup.InferenceVariable, org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;[Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        start local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] outerVariables
         0: .line 1276
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 1 /* variable */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* three */
        start local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
         1: .line 1277
            aload 3 /* three */
            ifnull 11
         2: .line 1278
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 4 /* bound */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
         4: .line 1279
            aload 2 /* outerVariables */
            dup
            astore 9
            arraylength
            istore 8
            iconst_0
            istore 7
            goto 9
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets org.eclipse.jdt.internal.compiler.lookup.TypeBound java.util.Iterator top int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
         5: aload 9
            iload 7
            aaload
            astore 6 /* iv */
        start local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         6: .line 1280
            aload 4 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 6 /* iv */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 8
         7: .line 1281
            aload 6 /* iv */
            areturn
        end local 6 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
         8: .line 1279
      StackMap locals:
      StackMap stack:
            iinc 7 1
      StackMap locals:
      StackMap stack:
         9: iload 7
            iload 8
            if_icmplt 5
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        10: .line 1278
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 1284
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
      StackMap stack:
            aload 2 /* outerVariables */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 21
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets top int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
        12: aload 7
            iload 5
            aaload
            astore 4 /* iv */
        start local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
        13: .line 1285
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet.boundsPerVariable:Ljava/util/HashMap;
            aload 4 /* iv */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
            astore 3 /* three */
        14: .line 1286
            aload 3 /* three */
            ifnull 20
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            ifnull 20
        15: .line 1287
            aload 3 /* three */
            getfield org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets.sameBounds:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 19
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets org.eclipse.jdt.internal.compiler.lookup.InferenceVariable int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] top java.util.Iterator
      StackMap stack:
        16: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.compiler.lookup.TypeBound
            astore 8 /* bound */
        start local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        17: .line 1288
            aload 8 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            aload 1 /* variable */
            invokestatic org.eclipse.jdt.internal.compiler.lookup.TypeBinding.equalsEquals:(Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;)Z
            ifeq 19
        18: .line 1289
            aload 4 /* iv */
            areturn
        end local 8 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
        19: .line 1287
      StackMap locals:
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        end local 4 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable iv
        20: .line 1284
      StackMap locals: org.eclipse.jdt.internal.compiler.lookup.BoundSet org.eclipse.jdt.internal.compiler.lookup.InferenceVariable org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets top int int org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        21: iload 5
            iload 6
            if_icmplt 12
        22: .line 1292
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets three
        end local 2 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable[] outerVariables
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.InferenceVariable variable
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.BoundSet this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0            this  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet;
            0   23     1        variable  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            0   23     2  outerVariables  [Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            1   23     3           three  Lorg/eclipse/jdt/internal/compiler/lookup/BoundSet$ThreeSets;
            4   10     4           bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            6    8     6              iv  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           13   20     4              iv  Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
           17   19     8           bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    MethodParameters:
                Name  Flags
      variable        
      outerVariables  

  private static boolean lambda$0(org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
         0: .line 896
            aload 0 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.relation:I
            iconst_4
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;

  private static boolean lambda$1(org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
         0: .line 897
            aload 0 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.right:Lorg/eclipse/jdt/internal/compiler/lookup/TypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.compiler.lookup.TypeBinding.isProperType:(Z)Z
            ireturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;

  private static org.eclipse.jdt.internal.compiler.lookup.InferenceVariable lambda$2(org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
         0: .line 898
            aload 0 /* bound */
            getfield org.eclipse.jdt.internal.compiler.lookup.TypeBound.left:Lorg/eclipse/jdt/internal/compiler/lookup/InferenceVariable;
            areturn
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound bound
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  bound  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;

  private static org.eclipse.jdt.internal.compiler.lookup.TypeBound lambda$3(org.eclipse.jdt.internal.compiler.lookup.TypeBound, org.eclipse.jdt.internal.compiler.lookup.TypeBound);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;)Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundFromNextBounds
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundFromFirstBounds
         0: .line 900
            aload 0 /* boundFromNextBounds */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundFromFirstBounds
        end local 0 // org.eclipse.jdt.internal.compiler.lookup.TypeBound boundFromNextBounds
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0   boundFromNextBounds  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
            0    1     1  boundFromFirstBounds  Lorg/eclipse/jdt/internal/compiler/lookup/TypeBound;
}
SourceFile: "BoundSet.java"
NestMembers:
  org.eclipse.jdt.internal.compiler.lookup.BoundSet$1  org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.util.Map$Entry of java.util.Map
  org.eclipse.jdt.internal.compiler.lookup.BoundSet$1
  private ThreeSets = org.eclipse.jdt.internal.compiler.lookup.BoundSet$ThreeSets of org.eclipse.jdt.internal.compiler.lookup.BoundSet