public class sun.awt.SoftCache extends java.util.AbstractMap<java.lang.Object, java.lang.Object> implements java.util.Map<java.lang.Object, java.lang.Object>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.SoftCache
  super_class: java.util.AbstractMap
{
  private java.util.Map<java.lang.Object, java.lang.Object> hash;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;

  private java.lang.ref.ReferenceQueue<java.lang.Object> queue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;

  private java.util.Set<java.util.Map$Entry<java.lang.Object, java.lang.Object>> entrySet;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;>;

  private void processQueue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 172
            goto 3
        start local 1 // sun.awt.SoftCache$ValueCell vc
         1: .line 173
      StackMap locals: sun.awt.SoftCache$ValueCell
      StackMap stack:
            aload 1 /* vc */
            invokevirtual sun.awt.SoftCache$ValueCell.isValid:()Z
            ifeq 2
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* vc */
            getfield sun.awt.SoftCache$ValueCell.key:Ljava/lang/Object;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
            goto 3
         2: .line 174
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.SoftCache$ValueCell.dropped:I
            iconst_1
            isub
            putstatic sun.awt.SoftCache$ValueCell.dropped:I
        end local 1 // sun.awt.SoftCache$ValueCell vc
         3: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            checkcast sun.awt.SoftCache$ValueCell
            dup
            astore 1 /* vc */
        start local 1 // sun.awt.SoftCache$ValueCell vc
         4: ifnonnull 1
         5: .line 176
            return
        end local 1 // sun.awt.SoftCache$ValueCell vc
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/awt/SoftCache;
            1    3     1    vc  Lsun/awt/SoftCache$ValueCell;
            4    6     1    vc  Lsun/awt/SoftCache$ValueCell;

  public void <init>(int, float);
    descriptor: (IF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // sun.awt.SoftCache this
        start local 1 // int initialCapacity
        start local 2 // float loadFactor
         0: .line 193
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
         1: .line 162
            aload 0 /* this */
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            putfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
         2: .line 452
            aload 0 /* this */
            aconst_null
            putfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
         3: .line 194
            aload 0 /* this */
            new java.util.HashMap
            dup
            iload 1 /* initialCapacity */
            fload 2 /* loadFactor */
            invokespecial java.util.HashMap.<init>:(IF)V
            putfield sun.awt.SoftCache.hash:Ljava/util/Map;
         4: .line 195
            return
        end local 2 // float loadFactor
        end local 1 // int initialCapacity
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lsun/awt/SoftCache;
            0    5     1  initialCapacity  I
            0    5     2       loadFactor  F
    MethodParameters:
                 Name  Flags
      initialCapacity  
      loadFactor       

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.awt.SoftCache this
        start local 1 // int initialCapacity
         0: .line 206
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
         1: .line 162
            aload 0 /* this */
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            putfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
         2: .line 452
            aload 0 /* this */
            aconst_null
            putfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
         3: .line 207
            aload 0 /* this */
            new java.util.HashMap
            dup
            iload 1 /* initialCapacity */
            invokespecial java.util.HashMap.<init>:(I)V
            putfield sun.awt.SoftCache.hash:Ljava/util/Map;
         4: .line 208
            return
        end local 1 // int initialCapacity
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lsun/awt/SoftCache;
            0    5     1  initialCapacity  I
    MethodParameters:
                 Name  Flags
      initialCapacity  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 214
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
         1: .line 162
            aload 0 /* this */
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            putfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
         2: .line 452
            aload 0 /* this */
            aconst_null
            putfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
         3: .line 215
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.awt.SoftCache.hash:Ljava/util/Map;
         4: .line 216
            return
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/awt/SoftCache;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 226
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            ireturn
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/SoftCache;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 233
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.isEmpty:()Z
            ireturn
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/SoftCache;

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.SoftCache this
        start local 1 // java.lang.Object key
         0: .line 244
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_0
            invokestatic sun.awt.SoftCache$ValueCell.strip:(Ljava/lang/Object;Z)Ljava/lang/Object;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/SoftCache;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  protected java.lang.Object fill(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // sun.awt.SoftCache this
        start local 1 // java.lang.Object key
         0: .line 268
            aconst_null
            areturn
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/SoftCache;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.awt.SoftCache this
        start local 1 // java.lang.Object key
         0: .line 288
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.processQueue:()V
         1: .line 289
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* v */
        start local 2 // java.lang.Object v
         2: .line 290
            aload 2 /* v */
            ifnonnull 7
         3: .line 291
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.awt.SoftCache.fill:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* v */
         4: .line 292
            aload 2 /* v */
            ifnull 7
         5: .line 293
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* key */
            aload 1 /* key */
            aload 2 /* v */
            aload 0 /* this */
            getfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokestatic sun.awt.SoftCache$ValueCell.create:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Lsun/awt/SoftCache$ValueCell;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 294
            aload 2 /* v */
            areturn
         7: .line 297
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* v */
            iconst_0
            invokestatic sun.awt.SoftCache$ValueCell.strip:(Ljava/lang/Object;Z)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object v
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/awt/SoftCache;
            0    8     1   key  Ljava/lang/Object;
            2    8     2     v  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.awt.SoftCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 315
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.processQueue:()V
         1: .line 316
            aload 1 /* key */
            aload 2 /* value */
            aload 0 /* this */
            getfield sun.awt.SoftCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokestatic sun.awt.SoftCache$ValueCell.create:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)Lsun/awt/SoftCache$ValueCell;
            astore 3 /* vc */
        start local 3 // sun.awt.SoftCache$ValueCell vc
         2: .line 317
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* key */
            aload 3 /* vc */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            iconst_1
            invokestatic sun.awt.SoftCache$ValueCell.strip:(Ljava/lang/Object;Z)Ljava/lang/Object;
            areturn
        end local 3 // sun.awt.SoftCache$ValueCell vc
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/awt/SoftCache;
            0    3     1    key  Ljava/lang/Object;
            0    3     2  value  Ljava/lang/Object;
            2    3     3     vc  Lsun/awt/SoftCache$ValueCell;
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.Object remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.awt.SoftCache this
        start local 1 // java.lang.Object key
         0: .line 330
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.processQueue:()V
         1: .line 331
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            iconst_1
            invokestatic sun.awt.SoftCache$ValueCell.strip:(Ljava/lang/Object;Z)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Object key
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/SoftCache;
            0    2     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 338
            aload 0 /* this */
            invokevirtual sun.awt.SoftCache.processQueue:()V
         1: .line 339
            aload 0 /* this */
            getfield sun.awt.SoftCache.hash:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         2: .line 340
            return
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/awt/SoftCache;

  private static boolean valEquals(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object o1
        start local 1 // java.lang.Object o2
         0: .line 346
            aload 0 /* o1 */
            ifnonnull 2
            aload 1 /* o2 */
            ifnonnull 1
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* o1 */
            aload 1 /* o2 */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // java.lang.Object o2
        end local 0 // java.lang.Object o1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    o1  Ljava/lang/Object;
            0    4     1    o2  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o1    
      o2    

  public java.util.Set<java.util.Map$Entry<java.lang.Object, java.lang.Object>> entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.SoftCache this
         0: .line 458
            aload 0 /* this */
            getfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
            ifnonnull 1
            aload 0 /* this */
            new sun.awt.SoftCache$EntrySet
            dup
            aload 0 /* this */
            invokespecial sun.awt.SoftCache$EntrySet.<init>:(Lsun/awt/SoftCache;)V
            putfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
         1: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.awt.SoftCache.entrySet:Ljava/util/Set;
            areturn
        end local 0 // sun.awt.SoftCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/awt/SoftCache;
    Signature: ()Ljava/util/Set<Ljava/util/Map$Entry<Ljava/lang/Object;Ljava/lang/Object;>;>;
}
Signature: Ljava/util/AbstractMap<Ljava/lang/Object;Ljava/lang/Object;>;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
SourceFile: "SoftCache.java"
NestMembers:
  sun.awt.SoftCache$Entry  sun.awt.SoftCache$EntrySet  sun.awt.SoftCache$EntrySet$1  sun.awt.SoftCache$ValueCell
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map
  private Entry = sun.awt.SoftCache$Entry of sun.awt.SoftCache
  private EntrySet = sun.awt.SoftCache$EntrySet of sun.awt.SoftCache
  private ValueCell = sun.awt.SoftCache$ValueCell of sun.awt.SoftCache
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()