public class org.eclipse.jdt.internal.core.util.WeakHashSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.util.WeakHashSet
  super_class: java.lang.Object
{
  org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference[] values;
    descriptor: [Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
    flags: (0x0000) 

  public int elementSize;
    descriptor: I
    flags: (0x0001) ACC_PUBLIC

  int threshold;
    descriptor: I
    flags: (0x0000) 

  java.lang.ref.ReferenceQueue referenceQueue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
         0: .line 56
            aload 0 /* this */
            iconst_5
            invokespecial org.eclipse.jdt.internal.core.util.WeakHashSet.<init>:(I)V
         1: .line 57
            return
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // int size
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 53
            aload 0 /* this */
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.referenceQueue:Ljava/lang/ref/ReferenceQueue;
         2: .line 60
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
         3: .line 61
            aload 0 /* this */
            iload 1 /* size */
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
         4: .line 62
            iload 1 /* size */
            i2f
            ldc 1.75
            fmul
            f2i
            istore 2 /* extraRoom */
        start local 2 // int extraRoom
         5: .line 63
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
            iload 2 /* extraRoom */
            if_icmpne 7
         6: .line 64
            iinc 2 /* extraRoom */ 1
         7: .line 65
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet int int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* extraRoom */
            anewarray org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
         8: .line 66
            return
        end local 2 // int extraRoom
        end local 1 // int size
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0    9     1       size  I
            5    9     2  extraRoom  I
    MethodParameters:
      Name  Flags
      size  

  public java.lang.Object add(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // java.lang.Object obj
         0: .line 74
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.cleanupGarbageCollectedValues:()V
         1: .line 75
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 2 /* valuesLength */
        start local 2 // int valuesLength
         2: .line 76
            aload 1 /* obj */
            invokevirtual java.lang.Object.hashCode:()I
            ldc 2147483647
            iand
            iload 2 /* valuesLength */
            irem
            istore 3 /* index */
        start local 3 // int index
         3: .line 78
            goto 9
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         4: .line 80
      StackMap locals: int int org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 1 /* obj */
            aload 4 /* currentValue */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            dup
            astore 5 /* referent */
        start local 5 // java.lang.Object referent
         5: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 81
            aload 5 /* referent */
            areturn
         7: .line 83
      StackMap locals: java.lang.Object
      StackMap stack:
            iinc 3 /* index */ 1
            iload 3 /* index */
            iload 2 /* valuesLength */
            if_icmpne 9
         8: .line 84
            iconst_0
            istore 3 /* index */
        end local 5 // java.lang.Object referent
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         9: .line 78
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* index */
            aaload
            dup
            astore 4 /* currentValue */
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        10: ifnonnull 4
        11: .line 87
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* index */
            new org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
            dup
            aload 1 /* obj */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.referenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokespecial org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.<init>:(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
            aastore
        12: .line 90
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
            if_icmple 14
        13: .line 91
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.rehash:()V
        14: .line 93
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 1 /* obj */
            areturn
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        end local 3 // int index
        end local 2 // int valuesLength
        end local 1 // java.lang.Object obj
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0   15     1           obj  Ljava/lang/Object;
            2   15     2  valuesLength  I
            3   15     3         index  I
            4    9     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           10   15     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            5    9     5      referent  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private void addValue(org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference);
    descriptor: (Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference value
         0: .line 97
            aload 1 /* value */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            astore 2 /* obj */
        start local 2 // java.lang.Object obj
         1: .line 98
            aload 2 /* obj */
            ifnonnull 2
            return
         2: .line 99
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 3 /* valuesLength */
        start local 3 // int valuesLength
         3: .line 100
            aload 1 /* value */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.hashCode:I
            ldc 2147483647
            iand
            iload 3 /* valuesLength */
            irem
            istore 4 /* index */
        start local 4 // int index
         4: .line 102
            goto 9
        start local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         5: .line 103
      StackMap locals: int int org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 2 /* obj */
            aload 5 /* currentValue */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 104
            return
         7: .line 106
      StackMap locals:
      StackMap stack:
            iinc 4 /* index */ 1
            iload 4 /* index */
            iload 3 /* valuesLength */
            if_icmpne 9
         8: .line 107
            iconst_0
            istore 4 /* index */
        end local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         9: .line 102
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 4 /* index */
            aaload
            dup
            astore 5 /* currentValue */
        start local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        10: ifnonnull 5
        11: .line 110
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 4 /* index */
            aload 1 /* value */
            aastore
        12: .line 113
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            iconst_1
            iadd
            dup_x1
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
            if_icmple 14
        13: .line 114
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.rehash:()V
        14: .line 115
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            return
        end local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        end local 4 // int index
        end local 3 // int valuesLength
        end local 2 // java.lang.Object obj
        end local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference value
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0   15     1         value  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            1   15     2           obj  Ljava/lang/Object;
            3   15     3  valuesLength  I
            4   15     4         index  I
            5    9     5  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           10   15     5  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
    MethodParameters:
       Name  Flags
      value  

  private void cleanupGarbageCollectedValues();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
         0: .line 119
            goto 19
        start local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference toBeRemoved
         1: .line 120
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 1 /* toBeRemoved */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.hashCode:I
            istore 2 /* hashCode */
        start local 2 // int hashCode
         2: .line 121
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 3 /* valuesLength */
        start local 3 // int valuesLength
         3: .line 122
            iload 2 /* hashCode */
            ldc 2147483647
            iand
            iload 3 /* valuesLength */
            irem
            istore 4 /* index */
        start local 4 // int index
         4: .line 124
            goto 17
        start local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         5: .line 125
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference int int int org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 5 /* currentValue */
            aload 1 /* toBeRemoved */
            if_acmpne 15
         6: .line 127
            iload 4 /* index */
            istore 6 /* sameHash */
        start local 6 // int sameHash
         7: .line 129
            goto 9
        start local 7 // int current
         8: .line 130
      StackMap locals: int int
      StackMap stack:
            iload 7 /* current */
            istore 6 /* sameHash */
        end local 7 // int current
         9: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 6 /* sameHash */
            iconst_1
            iadd
            iload 3 /* valuesLength */
            irem
            dup
            istore 7 /* current */
        start local 7 // int current
        10: aaload
            dup
            astore 5 /* currentValue */
            ifnull 11
            aload 5 /* currentValue */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.hashCode:I
            iload 2 /* hashCode */
            if_icmpeq 8
        11: .line 131
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 4 /* index */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 6 /* sameHash */
            aaload
            aastore
        12: .line 132
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 6 /* sameHash */
            aconst_null
            aastore
        13: .line 133
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            iconst_1
            isub
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
        14: .line 134
            goto 19
        end local 7 // int current
        end local 6 // int sameHash
        15: .line 136
      StackMap locals:
      StackMap stack:
            iinc 4 /* index */ 1
            iload 4 /* index */
            iload 3 /* valuesLength */
            if_icmpne 17
        16: .line 137
            iconst_0
            istore 4 /* index */
        end local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        17: .line 124
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 4 /* index */
            aaload
            dup
            astore 5 /* currentValue */
        start local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        18: ifnonnull 5
        end local 5 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        end local 4 // int index
        end local 3 // int valuesLength
        end local 2 // int hashCode
        end local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference toBeRemoved
        19: .line 119
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.referenceQueue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            checkcast org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
            dup
            astore 1 /* toBeRemoved */
        start local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference toBeRemoved
        20: ifnonnull 1
        21: .line 141
            return
        end local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference toBeRemoved
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   22     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            1   19     1   toBeRemoved  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           20   22     1   toBeRemoved  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            2   19     2      hashCode  I
            3   19     3  valuesLength  I
            4   19     4         index  I
            5   17     5  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           18   19     5  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            7   15     6      sameHash  I
            8    9     7       current  I
           10   15     7       current  I

  public boolean contains(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // java.lang.Object obj
         0: .line 144
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object obj
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0    2     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // java.lang.Object obj
         0: .line 152
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.cleanupGarbageCollectedValues:()V
         1: .line 153
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 2 /* valuesLength */
        start local 2 // int valuesLength
         2: .line 154
            aload 1 /* obj */
            invokevirtual java.lang.Object.hashCode:()I
            ldc 2147483647
            iand
            iload 2 /* valuesLength */
            irem
            istore 3 /* index */
        start local 3 // int index
         3: .line 156
            goto 9
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         4: .line 158
      StackMap locals: int int org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 1 /* obj */
            aload 4 /* currentValue */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            dup
            astore 5 /* referent */
        start local 5 // java.lang.Object referent
         5: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 159
            aload 5 /* referent */
            areturn
         7: .line 161
      StackMap locals: java.lang.Object
      StackMap stack:
            iinc 3 /* index */ 1
            iload 3 /* index */
            iload 2 /* valuesLength */
            if_icmpne 9
         8: .line 162
            iconst_0
            istore 3 /* index */
        end local 5 // java.lang.Object referent
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         9: .line 156
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* index */
            aaload
            dup
            astore 4 /* currentValue */
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        10: ifnonnull 4
        11: .line 165
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        end local 3 // int index
        end local 2 // int valuesLength
        end local 1 // java.lang.Object obj
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0   12     1           obj  Ljava/lang/Object;
            2   12     2  valuesLength  I
            3   12     3         index  I
            4    9     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           10   12     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            5    9     5      referent  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  private void rehash();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
         0: .line 169
            new org.eclipse.jdt.internal.core.util.WeakHashSet
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            iconst_2
            imul
            invokespecial org.eclipse.jdt.internal.core.util.WeakHashSet.<init>:(I)V
            astore 1 /* newHashSet */
        start local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet newHashSet
         1: .line 170
            aload 1 /* newHashSet */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.referenceQueue:Ljava/lang/ref/ReferenceQueue;
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.referenceQueue:Ljava/lang/ref/ReferenceQueue;
         2: .line 172
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 4 /* length */
        start local 4 // int length
         4: goto 9
         5: .line 173
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet org.eclipse.jdt.internal.core.util.WeakHashSet top int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* i */
            aaload
            dup
            astore 2 /* currentValue */
        start local 2 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         6: ifnull 8
         7: .line 174
            aload 1 /* newHashSet */
            aload 2 /* currentValue */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.addValue:(Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;)V
         8: .line 172
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet org.eclipse.jdt.internal.core.util.WeakHashSet org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference int int
      StackMap stack:
            iinc 3 /* i */ 1
        end local 2 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
      StackMap locals: org.eclipse.jdt.internal.core.util.WeakHashSet org.eclipse.jdt.internal.core.util.WeakHashSet top int int
      StackMap stack:
         9: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 5
        end local 4 // int length
        end local 3 // int i
        10: .line 176
            aload 0 /* this */
            aload 1 /* newHashSet */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
        11: .line 177
            aload 0 /* this */
            aload 1 /* newHashSet */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.threshold:I
        12: .line 178
            aload 0 /* this */
            aload 1 /* newHashSet */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
        13: .line 179
            return
        end local 1 // org.eclipse.jdt.internal.core.util.WeakHashSet newHashSet
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            1   14     1    newHashSet  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            6    9     2  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            3   10     3             i  I
            4   10     4        length  I

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
        start local 1 // java.lang.Object obj
         0: .line 186
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.cleanupGarbageCollectedValues:()V
         1: .line 187
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 2 /* valuesLength */
        start local 2 // int valuesLength
         2: .line 188
            aload 1 /* obj */
            invokevirtual java.lang.Object.hashCode:()I
            ldc 2147483647
            iand
            iload 2 /* valuesLength */
            irem
            istore 3 /* index */
        start local 3 // int index
         3: .line 190
            goto 12
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
         4: .line 192
      StackMap locals: int int org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
      StackMap stack:
            aload 1 /* obj */
            aload 4 /* currentValue */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            dup
            astore 5 /* referent */
        start local 5 // java.lang.Object referent
         5: invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         6: .line 193
            aload 0 /* this */
            dup
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            iconst_1
            isub
            putfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
         7: .line 194
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* index */
            aconst_null
            aastore
         8: .line 195
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet.rehash:()V
         9: .line 196
            aload 5 /* referent */
            areturn
        10: .line 198
      StackMap locals: java.lang.Object
      StackMap stack:
            iinc 3 /* index */ 1
            iload 3 /* index */
            iload 2 /* valuesLength */
            if_icmpne 12
        11: .line 199
            iconst_0
            istore 3 /* index */
        end local 5 // java.lang.Object referent
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        12: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 3 /* index */
            aaload
            dup
            astore 4 /* currentValue */
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        13: ifnonnull 4
        14: .line 202
            aconst_null
            areturn
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference currentValue
        end local 3 // int index
        end local 2 // int valuesLength
        end local 1 // java.lang.Object obj
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            0   15     1           obj  Ljava/lang/Object;
            2   15     2  valuesLength  I
            3   15     3         index  I
            4   12     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
           13   15     4  currentValue  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            5   12     5      referent  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
         0: .line 206
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.elementSize:I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
         0: .line 211
            new java.lang.StringBuffer
            dup
            ldc "{"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 212
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            arraylength
            istore 3 /* length */
        start local 3 // int length
         3: goto 11
         4: .line 213
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.util.WeakHashSet.values:[Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            iload 2 /* i */
            aaload
            astore 4 /* value */
        start local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference value
         5: .line 214
            aload 4 /* value */
            ifnull 10
         6: .line 215
            aload 4 /* value */
            invokevirtual org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference.get:()Ljava/lang/Object;
            astore 5 /* ref */
        start local 5 // java.lang.Object ref
         7: .line 216
            aload 5 /* ref */
            ifnull 10
         8: .line 217
            aload 1 /* buffer */
            aload 5 /* ref */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         9: .line 218
            aload 1 /* buffer */
            ldc ", "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 5 // java.lang.Object ref
        end local 4 // org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference value
        10: .line 212
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            iload 3 /* length */
            if_icmplt 4
        end local 3 // int length
        end local 2 // int i
        12: .line 222
            aload 1 /* buffer */
            ldc "}"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 223
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.util.WeakHashSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lorg/eclipse/jdt/internal/core/util/WeakHashSet;
            1   14     1  buffer  Ljava/lang/StringBuffer;
            2   12     2       i  I
            3   12     3  length  I
            5   10     4   value  Lorg/eclipse/jdt/internal/core/util/WeakHashSet$HashableWeakReference;
            7   10     5     ref  Ljava/lang/Object;
}
SourceFile: "WeakHashSet.java"
NestMembers:
  org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference
InnerClasses:
  public HashableWeakReference = org.eclipse.jdt.internal.core.util.WeakHashSet$HashableWeakReference of org.eclipse.jdt.internal.core.util.WeakHashSet