class sun.security.util.MemoryCache extends sun.security.util.Cache
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.security.util.MemoryCache
  super_class: sun.security.util.Cache
{
  private static final float LOAD_FACTOR;
    descriptor: F
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0.75

  private static final boolean DEBUG;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private final java.util.Map<java.lang.Object, sun.security.util.MemoryCache$CacheEntry> cacheMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Object;Lsun/security/util/MemoryCache$CacheEntry;>;

  private final int maxSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int lifetime;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(boolean, int);
    descriptor: (ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // boolean soft
        start local 2 // int maxSize
         0: .line 226
            aload 0 /* this */
            iload 1 /* soft */
            iload 2 /* maxSize */
            iconst_0
            invokespecial sun.security.util.MemoryCache.<init>:(ZII)V
         1: .line 227
            return
        end local 2 // int maxSize
        end local 1 // boolean soft
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/util/MemoryCache;
            0    2     1     soft  Z
            0    2     2  maxSize  I
    MethodParameters:
         Name  Flags
      soft     
      maxSize  

  public void <init>(boolean, int, int);
    descriptor: (ZII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // boolean soft
        start local 2 // int maxSize
        start local 3 // int lifetime
         0: .line 229
            aload 0 /* this */
            invokespecial sun.security.util.Cache.<init>:()V
         1: .line 230
            aload 0 /* this */
            iload 2 /* maxSize */
            putfield sun.security.util.MemoryCache.maxSize:I
         2: .line 231
            aload 0 /* this */
            iload 3 /* lifetime */
            sipush 1000
            imul
            putfield sun.security.util.MemoryCache.lifetime:I
         3: .line 232
            aload 0 /* this */
            iload 1 /* soft */
            ifeq 4
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
            goto 5
      StackMap locals: sun.security.util.MemoryCache int int int
      StackMap stack: sun.security.util.MemoryCache
         4: aconst_null
      StackMap locals: sun.security.util.MemoryCache int int int
      StackMap stack: sun.security.util.MemoryCache java.lang.ref.ReferenceQueue
         5: putfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
         6: .line 233
            iload 2 /* maxSize */
            i2f
            ldc 0.75
            fdiv
            f2i
            iconst_1
            iadd
            istore 4 /* buckets */
        start local 4 // int buckets
         7: .line 234
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            iload 4 /* buckets */
         8: .line 235
            ldc 0.75
            iconst_1
            invokespecial java.util.LinkedHashMap.<init>:(IFZ)V
         9: .line 234
            putfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
        10: .line 236
            return
        end local 4 // int buckets
        end local 3 // int lifetime
        end local 2 // int maxSize
        end local 1 // boolean soft
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lsun/security/util/MemoryCache;
            0   11     1      soft  Z
            0   11     2   maxSize  I
            0   11     3  lifetime  I
            7   11     4   buckets  I
    MethodParameters:
          Name  Flags
      soft      
      maxSize   
      lifetime  

  private void emptyQueue();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.util.MemoryCache this
         0: .line 246
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
            ifnonnull 2
         1: .line 247
            return
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            istore 1 /* startSize */
        start local 1 // int startSize
         3: .line 251
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 2 /* entry */
        start local 2 // sun.security.util.MemoryCache$CacheEntry entry
         4: .line 252
            aload 2 /* entry */
            ifnonnull 6
         5: .line 253
            goto 13
         6: .line 255
      StackMap locals: sun.security.util.MemoryCache$CacheEntry
      StackMap stack:
            aload 2 /* entry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.getKey:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         7: .line 256
            aload 3 /* key */
            ifnonnull 9
         8: .line 258
            goto 3
         9: .line 260
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 3 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 4 /* currentEntry */
        start local 4 // sun.security.util.MemoryCache$CacheEntry currentEntry
        10: .line 263
            aload 4 /* currentEntry */
            ifnull 3
            aload 2 /* entry */
            aload 4 /* currentEntry */
            if_acmpeq 3
        11: .line 264
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 3 /* key */
            aload 4 /* currentEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // sun.security.util.MemoryCache$CacheEntry currentEntry
        end local 3 // java.lang.Object key
        end local 2 // sun.security.util.MemoryCache$CacheEntry entry
        12: .line 250
            goto 3
        13: .line 274
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int startSize
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lsun/security/util/MemoryCache;
            3   14     1     startSize  I
            4   12     2         entry  Lsun/security/util/MemoryCache$CacheEntry;
            7   12     3           key  Ljava/lang/Object;
           10   12     4  currentEntry  Lsun/security/util/MemoryCache$CacheEntry;

  private void expungeExpiredEntries();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // sun.security.util.MemoryCache this
         0: .line 280
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.emptyQueue:()V
         1: .line 281
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.lifetime:I
            ifne 3
         2: .line 282
            return
         3: .line 285
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* time */
        start local 1 // long time
         4: .line 286
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* t */
        start local 3 // java.util.Iterator t
         5: .line 287
            goto 9
         6: .line 288
      StackMap locals: long java.util.Iterator
      StackMap stack:
            aload 3 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 4 /* entry */
        start local 4 // sun.security.util.MemoryCache$CacheEntry entry
         7: .line 289
            aload 4 /* entry */
            lload 1 /* time */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.isValid:(J)Z
            ifne 9
         8: .line 290
            aload 3 /* t */
            invokeinterface java.util.Iterator.remove:()V
        end local 4 // sun.security.util.MemoryCache$CacheEntry entry
         9: .line 287
      StackMap locals:
      StackMap stack:
            aload 3 /* t */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 3 // java.util.Iterator t
        10: .line 300
            return
        end local 1 // long time
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/security/util/MemoryCache;
            4   11     1   time  J
            5   10     3      t  Ljava/util/Iterator<Lsun/security/util/MemoryCache$CacheEntry;>;
            7    9     4  entry  Lsun/security/util/MemoryCache$CacheEntry;

  public synchronized int size();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.util.MemoryCache this
         0: .line 303
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.expungeExpiredEntries:()V
         1: .line 304
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ireturn
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/util/MemoryCache;

  public synchronized void clear();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // sun.security.util.MemoryCache this
         0: .line 308
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
            ifnull 6
         1: .line 311
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 4
      StackMap locals: sun.security.util.MemoryCache top java.util.Iterator
      StackMap stack:
         2: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 1 /* entry */
        start local 1 // sun.security.util.MemoryCache$CacheEntry entry
         3: .line 312
            aload 1 /* entry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.invalidate:()V
        end local 1 // sun.security.util.MemoryCache$CacheEntry entry
         4: .line 311
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 314
      StackMap locals: sun.security.util.MemoryCache
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            ifnonnull 5
         6: .line 318
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
         7: .line 319
            return
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/security/util/MemoryCache;
            3    4     1  entry  Lsun/security/util/MemoryCache$CacheEntry;

  public synchronized void put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 322
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.emptyQueue:()V
         1: .line 323
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.lifetime:I
            ifne 2
            lconst_0
            goto 3
         2: .line 324
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.lifetime:I
            i2l
            ladd
         3: .line 323
      StackMap locals:
      StackMap stack: long
            lstore 3 /* expirationTime */
        start local 3 // long expirationTime
         4: .line 325
            aload 0 /* this */
            aload 1 /* key */
            aload 2 /* value */
            lload 3 /* expirationTime */
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.queue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual sun.security.util.MemoryCache.newEntry:(Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue;)Lsun/security/util/MemoryCache$CacheEntry;
            astore 5 /* newEntry */
        start local 5 // sun.security.util.MemoryCache$CacheEntry newEntry
         5: .line 326
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 1 /* key */
            aload 5 /* newEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 6 /* oldEntry */
        start local 6 // sun.security.util.MemoryCache$CacheEntry oldEntry
         6: .line 327
            aload 6 /* oldEntry */
            ifnull 9
         7: .line 328
            aload 6 /* oldEntry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.invalidate:()V
         8: .line 329
            return
         9: .line 331
      StackMap locals: long sun.security.util.MemoryCache$CacheEntry sun.security.util.MemoryCache$CacheEntry
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.maxSize:I
            if_icmple 16
        10: .line 332
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.expungeExpiredEntries:()V
        11: .line 333
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.maxSize:I
            if_icmple 16
        12: .line 334
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7 /* t */
        start local 7 // java.util.Iterator t
        13: .line 335
            aload 7 /* t */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 8 /* lruEntry */
        start local 8 // sun.security.util.MemoryCache$CacheEntry lruEntry
        14: .line 340
            aload 7 /* t */
            invokeinterface java.util.Iterator.remove:()V
        15: .line 341
            aload 8 /* lruEntry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.invalidate:()V
        end local 8 // sun.security.util.MemoryCache$CacheEntry lruEntry
        end local 7 // java.util.Iterator t
        16: .line 344
      StackMap locals:
      StackMap stack:
            return
        end local 6 // sun.security.util.MemoryCache$CacheEntry oldEntry
        end local 5 // sun.security.util.MemoryCache$CacheEntry newEntry
        end local 3 // long expirationTime
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lsun/security/util/MemoryCache;
            0   17     1             key  Ljava/lang/Object;
            0   17     2           value  Ljava/lang/Object;
            4   17     3  expirationTime  J
            5   17     5        newEntry  Lsun/security/util/MemoryCache$CacheEntry;
            6   17     6        oldEntry  Lsun/security/util/MemoryCache$CacheEntry;
           13   16     7               t  Ljava/util/Iterator<Lsun/security/util/MemoryCache$CacheEntry;>;
           14   16     8        lruEntry  Lsun/security/util/MemoryCache$CacheEntry;
    MethodParameters:
       Name  Flags
      key    
      value  

  public synchronized java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // java.lang.Object key
         0: .line 347
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.emptyQueue:()V
         1: .line 348
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 2 /* entry */
        start local 2 // sun.security.util.MemoryCache$CacheEntry entry
         2: .line 349
            aload 2 /* entry */
            ifnonnull 4
         3: .line 350
            aconst_null
            areturn
         4: .line 352
      StackMap locals: sun.security.util.MemoryCache$CacheEntry
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.lifetime:I
            ifne 5
            lconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: invokestatic java.lang.System.currentTimeMillis:()J
      StackMap locals:
      StackMap stack: long
         6: lstore 3 /* time */
        start local 3 // long time
         7: .line 353
            aload 2 /* entry */
            lload 3 /* time */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.isValid:(J)Z
            ifne 10
         8: .line 357
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 358
            aconst_null
            areturn
        10: .line 360
      StackMap locals: long
      StackMap stack:
            aload 2 /* entry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.getValue:()Ljava/lang/Object;
            areturn
        end local 3 // long time
        end local 2 // sun.security.util.MemoryCache$CacheEntry entry
        end local 1 // java.lang.Object key
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/security/util/MemoryCache;
            0   11     1    key  Ljava/lang/Object;
            2   11     2  entry  Lsun/security/util/MemoryCache$CacheEntry;
            7   11     3   time  J
    MethodParameters:
      Name  Flags
      key   

  public synchronized void remove(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // java.lang.Object key
         0: .line 364
            aload 0 /* this */
            invokevirtual sun.security.util.MemoryCache.emptyQueue:()V
         1: .line 365
            aload 0 /* this */
            getfield sun.security.util.MemoryCache.cacheMap:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.util.MemoryCache$CacheEntry
            astore 2 /* entry */
        start local 2 // sun.security.util.MemoryCache$CacheEntry entry
         2: .line 366
            aload 2 /* entry */
            ifnull 4
         3: .line 367
            aload 2 /* entry */
            invokeinterface sun.security.util.MemoryCache$CacheEntry.invalidate:()V
         4: .line 369
      StackMap locals: sun.security.util.MemoryCache$CacheEntry
      StackMap stack:
            return
        end local 2 // sun.security.util.MemoryCache$CacheEntry entry
        end local 1 // java.lang.Object key
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/security/util/MemoryCache;
            0    5     1    key  Ljava/lang/Object;
            2    5     2  entry  Lsun/security/util/MemoryCache$CacheEntry;
    MethodParameters:
      Name  Flags
      key   

  protected sun.security.util.MemoryCache$CacheEntry newEntry(, , long, java.lang.ref.ReferenceQueue<java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue;)Lsun/security/util/MemoryCache$CacheEntry;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // sun.security.util.MemoryCache this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
        start local 3 // long expirationTime
        start local 5 // java.lang.ref.ReferenceQueue queue
         0: .line 373
            aload 5 /* queue */
            ifnull 2
         1: .line 374
            new sun.security.util.MemoryCache$SoftCacheEntry
            dup
            aload 1 /* key */
            aload 2 /* value */
            lload 3 /* expirationTime */
            aload 5 /* queue */
            invokespecial sun.security.util.MemoryCache$SoftCacheEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue;)V
            areturn
         2: .line 376
      StackMap locals:
      StackMap stack:
            new sun.security.util.MemoryCache$HardCacheEntry
            dup
            aload 1 /* key */
            aload 2 /* value */
            lload 3 /* expirationTime */
            invokespecial sun.security.util.MemoryCache$HardCacheEntry.<init>:(Ljava/lang/Object;Ljava/lang/Object;J)V
            areturn
        end local 5 // java.lang.ref.ReferenceQueue queue
        end local 3 // long expirationTime
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // sun.security.util.MemoryCache this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lsun/security/util/MemoryCache;
            0    3     1             key  Ljava/lang/Object;
            0    3     2           value  Ljava/lang/Object;
            0    3     3  expirationTime  J
            0    3     5           queue  Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
    Signature: (Ljava/lang/Object;Ljava/lang/Object;JLjava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;)Lsun/security/util/MemoryCache$CacheEntry;
    MethodParameters:
                Name  Flags
      key             
      value           
      expirationTime  
      queue           
}
SourceFile: "Cache.java"
NestMembers:
  sun.security.util.MemoryCache$CacheEntry  sun.security.util.MemoryCache$HardCacheEntry  sun.security.util.MemoryCache$SoftCacheEntry
InnerClasses:
  private abstract CacheEntry = sun.security.util.MemoryCache$CacheEntry of sun.security.util.MemoryCache
  private HardCacheEntry = sun.security.util.MemoryCache$HardCacheEntry of sun.security.util.MemoryCache
  private SoftCacheEntry = sun.security.util.MemoryCache$SoftCacheEntry of sun.security.util.MemoryCache