public class sun.net.www.http.KeepAliveCache extends java.util.HashMap<sun.net.www.http.KeepAliveKey, sun.net.www.http.ClientVector> implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.net.www.http.KeepAliveCache
  super_class: java.util.HashMap
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2937172892064557949

  static final int MAX_CONNECTIONS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static int result;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static final int LIFETIME;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5000

  private final java.util.concurrent.locks.ReentrantLock cacheLock;
    descriptor: Ljava/util/concurrent/locks/ReentrantLock;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.Thread keepAliveTimer;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc Lsun/net/www/http/KeepAliveCache;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic sun.net.www.http.KeepAliveCache.$assertionsDisabled:Z
         3: .line 64
            iconst_m1
            putstatic sun.net.www.http.KeepAliveCache.result:I
         4: .line 77
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int getMaxConnections();
    descriptor: ()I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 66
            getstatic sun.net.www.http.KeepAliveCache.result:I
            iconst_m1
            if_icmpne 7
         1: .line 68
            new sun.security.action.GetIntegerAction
            dup
            ldc "http.maxConnections"
            iconst_5
            invokespecial sun.security.action.GetIntegerAction.<init>:(Ljava/lang/String;I)V
         2: .line 67
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Integer
         3: .line 69
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 67
            putstatic sun.net.www.http.KeepAliveCache.result:I
         5: .line 70
            getstatic sun.net.www.http.KeepAliveCache.result:I
            ifgt 7
         6: .line 71
            iconst_5
            putstatic sun.net.www.http.KeepAliveCache.result:I
         7: .line 74
      StackMap locals:
      StackMap stack:
            getstatic sun.net.www.http.KeepAliveCache.result:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.net.www.http.KeepAliveCache this
         0: .line 86
            aload 0 /* this */
            invokespecial java.util.HashMap.<init>:()V
         1: .line 80
            aload 0 /* this */
            new java.util.concurrent.locks.ReentrantLock
            dup
            invokespecial java.util.concurrent.locks.ReentrantLock.<init>:()V
            putfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
         2: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.net.www.http.KeepAliveCache.keepAliveTimer:Ljava/lang/Thread;
         3: .line 86
            return
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/net/www/http/KeepAliveCache;

  public void put(java.net.URL, java.lang.Object, sun.net.www.http.HttpClient);
    descriptor: (Ljava/net/URL;Ljava/lang/Object;Lsun/net/www/http/HttpClient;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // java.net.URL url
        start local 2 // java.lang.Object obj
        start local 3 // sun.net.www.http.HttpClient http
         0: .line 94
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 96
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.keepAliveTimer:Ljava/lang/Thread;
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* startThread */
        start local 4 // boolean startThread
         4: .line 97
            iload 4 /* startThread */
            ifne 7
         5: .line 98
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.keepAliveTimer:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.isAlive:()Z
            ifne 7
         6: .line 99
            iconst_1
            istore 4 /* startThread */
         7: .line 102
      StackMap locals: int
      StackMap stack:
            iload 4 /* startThread */
            ifeq 11
         8: .line 103
            aload 0 /* this */
            invokevirtual sun.net.www.http.KeepAliveCache.clear:()V
         9: .line 110
            aload 0 /* this */
            astore 5 /* cache */
        start local 5 // sun.net.www.http.KeepAliveCache cache
        10: .line 111
            new sun.net.www.http.KeepAliveCache$1
            dup
            aload 0 /* this */
            aload 5 /* cache */
            invokespecial sun.net.www.http.KeepAliveCache$1.<init>:(Lsun/net/www/http/KeepAliveCache;Lsun/net/www/http/KeepAliveCache;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        end local 5 // sun.net.www.http.KeepAliveCache cache
        11: .line 122
      StackMap locals:
      StackMap stack:
            new sun.net.www.http.KeepAliveKey
            dup
            aload 1 /* url */
            aload 2 /* obj */
            invokespecial sun.net.www.http.KeepAliveKey.<init>:(Ljava/net/URL;Ljava/lang/Object;)V
            astore 5 /* key */
        start local 5 // sun.net.www.http.KeepAliveKey key
        12: .line 123
            aload 0 /* this */
            aload 5 /* key */
            invokespecial java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.net.www.http.ClientVector
            astore 6 /* v */
        start local 6 // sun.net.www.http.ClientVector v
        13: .line 125
            aload 6 /* v */
            ifnonnull 22
        14: .line 126
            aload 3 /* http */
            invokevirtual sun.net.www.http.HttpClient.getKeepAliveTimeout:()I
            istore 7 /* keepAliveTimeout */
        start local 7 // int keepAliveTimeout
        15: .line 127
            new sun.net.www.http.ClientVector
            dup
            iload 7 /* keepAliveTimeout */
            ifle 17
        16: .line 128
            iload 7 /* keepAliveTimeout */
            sipush 1000
            imul
            goto 18
      StackMap locals: sun.net.www.http.KeepAliveCache java.net.URL java.lang.Object sun.net.www.http.HttpClient int sun.net.www.http.KeepAliveKey sun.net.www.http.ClientVector int
      StackMap stack: new 15 new 15
        17: sipush 5000
        18: .line 127
      StackMap locals: sun.net.www.http.KeepAliveCache java.net.URL java.lang.Object sun.net.www.http.HttpClient int sun.net.www.http.KeepAliveKey sun.net.www.http.ClientVector int
      StackMap stack: new 15 new 15 int
            invokespecial sun.net.www.http.ClientVector.<init>:(I)V
            astore 6 /* v */
        19: .line 129
            aload 6 /* v */
            aload 3 /* http */
            invokevirtual sun.net.www.http.ClientVector.put:(Lsun/net/www/http/HttpClient;)V
        20: .line 130
            aload 0 /* this */
            aload 5 /* key */
            aload 6 /* v */
            invokespecial java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // int keepAliveTimeout
        21: .line 131
            goto 27
        22: .line 132
      StackMap locals:
      StackMap stack:
            aload 6 /* v */
            aload 3 /* http */
            invokevirtual sun.net.www.http.ClientVector.put:(Lsun/net/www/http/HttpClient;)V
        end local 6 // sun.net.www.http.ClientVector v
        end local 5 // sun.net.www.http.KeepAliveKey key
        end local 4 // boolean startThread
        23: .line 134
            goto 27
      StackMap locals: sun.net.www.http.KeepAliveCache java.net.URL java.lang.Object sun.net.www.http.HttpClient
      StackMap stack: java.lang.Throwable
        24: astore 8
        25: .line 135
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        26: .line 136
            aload 8
            athrow
        27: .line 135
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        28: .line 137
            return
        end local 3 // sun.net.www.http.HttpClient http
        end local 2 // java.lang.Object obj
        end local 1 // java.net.URL url
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   29     0              this  Lsun/net/www/http/KeepAliveCache;
            0   29     1               url  Ljava/net/URL;
            0   29     2               obj  Ljava/lang/Object;
            0   29     3              http  Lsun/net/www/http/HttpClient;
            4   23     4       startThread  Z
           10   11     5             cache  Lsun/net/www/http/KeepAliveCache;
           12   23     5               key  Lsun/net/www/http/KeepAliveKey;
           13   23     6                 v  Lsun/net/www/http/ClientVector;
           15   21     7  keepAliveTimeout  I
      Exception table:
        from    to  target  type
           1    24      24  any
    MethodParameters:
      Name  Flags
      url   final
      obj   
      http  

  public void remove(sun.net.www.http.HttpClient, java.lang.Object);
    descriptor: (Lsun/net/www/http/HttpClient;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // sun.net.www.http.HttpClient h
        start local 2 // java.lang.Object obj
         0: .line 141
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 143
            new sun.net.www.http.KeepAliveKey
            dup
            aload 1 /* h */
            getfield sun.net.www.http.HttpClient.url:Ljava/net/URL;
            aload 2 /* obj */
            invokespecial sun.net.www.http.KeepAliveKey.<init>:(Ljava/net/URL;Ljava/lang/Object;)V
            astore 3 /* key */
        start local 3 // sun.net.www.http.KeepAliveKey key
         2: .line 144
            aload 0 /* this */
            aload 3 /* key */
            invokespecial java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.net.www.http.ClientVector
            astore 4 /* v */
        start local 4 // sun.net.www.http.ClientVector v
         3: .line 145
            aload 4 /* v */
            ifnull 11
         4: .line 146
            aload 4 /* v */
            aload 1 /* h */
            invokevirtual sun.net.www.http.ClientVector.remove:(Lsun/net/www/http/HttpClient;)Z
            pop
         5: .line 147
            aload 4 /* v */
            invokevirtual sun.net.www.http.ClientVector.isEmpty:()Z
            ifeq 11
         6: .line 148
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual sun.net.www.http.KeepAliveCache.removeVector:(Lsun/net/www/http/KeepAliveKey;)V
        end local 4 // sun.net.www.http.ClientVector v
        end local 3 // sun.net.www.http.KeepAliveKey key
         7: .line 151
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: astore 5
         9: .line 152
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        10: .line 153
            aload 5
            athrow
        11: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        12: .line 154
            return
        end local 2 // java.lang.Object obj
        end local 1 // sun.net.www.http.HttpClient h
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/net/www/http/KeepAliveCache;
            0   13     1     h  Lsun/net/www/http/HttpClient;
            0   13     2   obj  Ljava/lang/Object;
            2    7     3   key  Lsun/net/www/http/KeepAliveKey;
            3    7     4     v  Lsun/net/www/http/ClientVector;
      Exception table:
        from    to  target  type
           1     8       8  any
    MethodParameters:
      Name  Flags
      h     
      obj   

  private void removeVector(sun.net.www.http.KeepAliveKey);
    descriptor: (Lsun/net/www/http/KeepAliveKey;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // sun.net.www.http.KeepAliveKey k
         0: .line 160
            getstatic sun.net.www.http.KeepAliveCache.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.isHeldByCurrentThread:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* k */
            invokespecial java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 162
            return
        end local 1 // sun.net.www.http.KeepAliveKey k
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/net/www/http/KeepAliveCache;
            0    3     1     k  Lsun/net/www/http/KeepAliveKey;
    MethodParameters:
      Name  Flags
      k     

  public sun.net.www.http.HttpClient get(java.net.URL, java.lang.Object);
    descriptor: (Ljava/net/URL;Ljava/lang/Object;)Lsun/net/www/http/HttpClient;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // java.net.URL url
        start local 2 // java.lang.Object obj
         0: .line 168
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         1: .line 170
            new sun.net.www.http.KeepAliveKey
            dup
            aload 1 /* url */
            aload 2 /* obj */
            invokespecial sun.net.www.http.KeepAliveKey.<init>:(Ljava/net/URL;Ljava/lang/Object;)V
            astore 3 /* key */
        start local 3 // sun.net.www.http.KeepAliveKey key
         2: .line 171
            aload 0 /* this */
            aload 3 /* key */
            invokespecial java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.net.www.http.ClientVector
            astore 4 /* v */
        start local 4 // sun.net.www.http.ClientVector v
         3: .line 172
            aload 4 /* v */
            ifnonnull 6
         4: .line 177
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
         5: .line 173
            aconst_null
            areturn
         6: .line 175
      StackMap locals: sun.net.www.http.KeepAliveKey sun.net.www.http.ClientVector
      StackMap stack:
            aload 4 /* v */
            invokevirtual sun.net.www.http.ClientVector.get:()Lsun/net/www/http/HttpClient;
            astore 6
         7: .line 177
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
         8: .line 175
            aload 6
            areturn
        end local 4 // sun.net.www.http.ClientVector v
        end local 3 // sun.net.www.http.KeepAliveKey key
         9: .line 176
      StackMap locals: sun.net.www.http.KeepAliveCache java.net.URL java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5
        10: .line 177
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        11: .line 178
            aload 5
            athrow
        end local 2 // java.lang.Object obj
        end local 1 // java.net.URL url
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/net/www/http/KeepAliveCache;
            0   12     1   url  Ljava/net/URL;
            0   12     2   obj  Ljava/lang/Object;
            2    9     3   key  Lsun/net/www/http/KeepAliveKey;
            3    9     4     v  Lsun/net/www/http/ClientVector;
      Exception table:
        from    to  target  type
           1     4       9  any
           6     7       9  any
    MethodParameters:
      Name  Flags
      url   
      obj   

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // sun.net.www.http.KeepAliveCache this
         0: .line 189
      StackMap locals:
      StackMap stack:
            ldc 5000
            invokestatic java.lang.Thread.sleep:(J)V
         1: .line 190
            goto 3
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         2: pop
         3: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.lock:()V
         4: .line 195
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 1 /* currentTime */
        start local 1 // long currentTime
         5: .line 196
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* keysToRemove */
        start local 3 // java.util.List keysToRemove
         6: .line 198
            aload 0 /* this */
            invokevirtual sun.net.www.http.KeepAliveCache.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 24
      StackMap locals: sun.net.www.http.KeepAliveCache long java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.net.www.http.KeepAliveKey
            astore 4 /* key */
        start local 4 // sun.net.www.http.KeepAliveKey key
         8: .line 199
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual sun.net.www.http.KeepAliveCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.net.www.http.ClientVector
            astore 6 /* v */
        start local 6 // sun.net.www.http.ClientVector v
         9: .line 200
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.lock:()V
        10: .line 202
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.peek:()Ljava/lang/Object;
            checkcast sun.net.www.http.KeepAliveEntry
            astore 7 /* e */
        start local 7 // sun.net.www.http.KeepAliveEntry e
        11: .line 203
            goto 16
        12: .line 204
      StackMap locals: sun.net.www.http.KeepAliveCache long java.util.List sun.net.www.http.KeepAliveKey java.util.Iterator sun.net.www.http.ClientVector sun.net.www.http.KeepAliveEntry
      StackMap stack:
            lload 1 /* currentTime */
            aload 7 /* e */
            getfield sun.net.www.http.KeepAliveEntry.idleStartTime:J
            lsub
            aload 6 /* v */
            getfield sun.net.www.http.ClientVector.nap:I
            i2l
            lcmp
            ifle 17
        13: .line 205
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.poll:()Ljava/lang/Object;
            pop
        14: .line 206
            aload 7 /* e */
            getfield sun.net.www.http.KeepAliveEntry.hc:Lsun/net/www/http/HttpClient;
            invokevirtual sun.net.www.http.HttpClient.closeServer:()V
        15: .line 210
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.peek:()Ljava/lang/Object;
            checkcast sun.net.www.http.KeepAliveEntry
            astore 7 /* e */
        16: .line 203
      StackMap locals:
      StackMap stack:
            aload 7 /* e */
            ifnonnull 12
        17: .line 213
      StackMap locals:
      StackMap stack:
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.isEmpty:()Z
            ifeq 23
        18: .line 214
            aload 3 /* keysToRemove */
            aload 4 /* key */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // sun.net.www.http.KeepAliveEntry e
        19: .line 216
            goto 23
      StackMap locals: sun.net.www.http.KeepAliveCache long java.util.List sun.net.www.http.KeepAliveKey java.util.Iterator sun.net.www.http.ClientVector
      StackMap stack: java.lang.Throwable
        20: astore 8
        21: .line 217
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.unlock:()V
        22: .line 218
            aload 8
            athrow
        23: .line 217
      StackMap locals:
      StackMap stack:
            aload 6 /* v */
            invokevirtual sun.net.www.http.ClientVector.unlock:()V
        end local 6 // sun.net.www.http.ClientVector v
        end local 4 // sun.net.www.http.KeepAliveKey key
        24: .line 198
      StackMap locals: sun.net.www.http.KeepAliveCache long java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        25: .line 221
            aload 3 /* keysToRemove */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 28
      StackMap locals:
      StackMap stack:
        26: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.net.www.http.KeepAliveKey
            astore 4 /* key */
        start local 4 // sun.net.www.http.KeepAliveKey key
        27: .line 222
            aload 0 /* this */
            aload 4 /* key */
            invokevirtual sun.net.www.http.KeepAliveCache.removeVector:(Lsun/net/www/http/KeepAliveKey;)V
        end local 4 // sun.net.www.http.KeepAliveKey key
        28: .line 221
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        end local 3 // java.util.List keysToRemove
        end local 1 // long currentTime
        29: .line 224
            goto 33
      StackMap locals: sun.net.www.http.KeepAliveCache
      StackMap stack: java.lang.Throwable
        30: astore 9
        31: .line 225
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        32: .line 226
            aload 9
            athrow
        33: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.net.www.http.KeepAliveCache.cacheLock:Ljava/util/concurrent/locks/ReentrantLock;
            invokevirtual java.util.concurrent.locks.ReentrantLock.unlock:()V
        34: .line 227
            aload 0 /* this */
            invokevirtual sun.net.www.http.KeepAliveCache.isEmpty:()Z
            ifeq 0
        35: .line 228
            return
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lsun/net/www/http/KeepAliveCache;
            5   29     1   currentTime  J
            6   29     3  keysToRemove  Ljava/util/List<Lsun/net/www/http/KeepAliveKey;>;
            8   24     4           key  Lsun/net/www/http/KeepAliveKey;
            9   24     6             v  Lsun/net/www/http/ClientVector;
           11   19     7             e  Lsun/net/www/http/KeepAliveEntry;
           27   28     4           key  Lsun/net/www/http/KeepAliveKey;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.InterruptedException
          10    20      20  any
           4    30      30  any

  private void writeObject(java.io.ObjectOutputStream);
    descriptor: (Ljava/io/ObjectOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // java.io.ObjectOutputStream stream
         0: .line 235
            new java.io.NotSerializableException
            dup
            invokespecial java.io.NotSerializableException.<init>:()V
            athrow
        end local 1 // java.io.ObjectOutputStream stream
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/net/www/http/KeepAliveCache;
            0    1     1  stream  Ljava/io/ObjectOutputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private void readObject(java.io.ObjectInputStream);
    descriptor: (Ljava/io/ObjectInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.net.www.http.KeepAliveCache this
        start local 1 // java.io.ObjectInputStream stream
         0: .line 242
            new java.io.NotSerializableException
            dup
            invokespecial java.io.NotSerializableException.<init>:()V
            athrow
        end local 1 // java.io.ObjectInputStream stream
        end local 0 // sun.net.www.http.KeepAliveCache this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lsun/net/www/http/KeepAliveCache;
            0    1     1  stream  Ljava/io/ObjectInputStream;
    Exceptions:
      throws java.io.IOException, java.lang.ClassNotFoundException
    MethodParameters:
        Name  Flags
      stream  
}
Signature: Ljava/util/HashMap<Lsun/net/www/http/KeepAliveKey;Lsun/net/www/http/ClientVector;>;Ljava/lang/Runnable;
SourceFile: "KeepAliveCache.java"
NestMembers:
  sun.net.www.http.KeepAliveCache$1
InnerClasses:
  sun.net.www.http.KeepAliveCache$1