public class org.apache.http.impl.conn.BasicClientConnectionManager implements org.apache.http.conn.ClientConnectionManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.http.impl.conn.BasicClientConnectionManager
  super_class: java.lang.Object
{
  private final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicLong COUNTER;
    descriptor: Ljava/util/concurrent/atomic/AtomicLong;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final java.lang.String MISUSE_MESSAGE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "Invalid use of BasicClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one."

  private final org.apache.http.conn.scheme.SchemeRegistry schemeRegistry;
    descriptor: Lorg/apache/http/conn/scheme/SchemeRegistry;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.http.conn.ClientConnectionOperator connOperator;
    descriptor: Lorg/apache/http/conn/ClientConnectionOperator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.apache.http.impl.conn.HttpPoolEntry poolEntry;
    descriptor: Lorg/apache/http/impl/conn/HttpPoolEntry;
    flags: (0x0002) ACC_PRIVATE

  private org.apache.http.impl.conn.ManagedClientConnectionImpl conn;
    descriptor: Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean shutdown;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 75
            new java.util.concurrent.atomic.AtomicLong
            dup
            invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
            putstatic org.apache.http.impl.conn.BasicClientConnectionManager.COUNTER:Ljava/util/concurrent/atomic/AtomicLong;
         1: .line 80
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.http.conn.scheme.SchemeRegistry);
    descriptor: (Lorg/apache/http/conn/scheme/SchemeRegistry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.conn.scheme.SchemeRegistry schreg
         0: .line 102
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 73
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
         2: .line 103
            aload 1 /* schreg */
            ldc "Scheme registry"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 104
            aload 0 /* this */
            aload 1 /* schreg */
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
         4: .line 105
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* schreg */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.createConnectionOperator:(Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
         5: .line 106
            return
        end local 1 // org.apache.http.conn.scheme.SchemeRegistry schreg
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0    6     1  schreg  Lorg/apache/http/conn/scheme/SchemeRegistry;
    MethodParameters:
        Name  Flags
      schreg  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 109
            aload 0 /* this */
            invokestatic org.apache.http.impl.conn.SchemeRegistryFactory.createDefault:()Lorg/apache/http/conn/scheme/SchemeRegistry;
            invokespecial org.apache.http.impl.conn.BasicClientConnectionManager.<init>:(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
         1: .line 110
            return
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 115
            aload 0 /* this */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.shutdown:()V
         1: .line 116
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 117
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         4: .line 118
            aload 1
            athrow
         5: .line 117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         6: .line 119
            return
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  public org.apache.http.conn.scheme.SchemeRegistry getSchemeRegistry();
    descriptor: ()Lorg/apache/http/conn/scheme/SchemeRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 123
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.schemeRegistry:Lorg/apache/http/conn/scheme/SchemeRegistry;
            areturn
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;

  protected org.apache.http.conn.ClientConnectionOperator createConnectionOperator(org.apache.http.conn.scheme.SchemeRegistry);
    descriptor: (Lorg/apache/http/conn/scheme/SchemeRegistry;)Lorg/apache/http/conn/ClientConnectionOperator;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.conn.scheme.SchemeRegistry schreg
         0: .line 127
            new org.apache.http.impl.conn.DefaultClientConnectionOperator
            dup
            aload 1 /* schreg */
            invokespecial org.apache.http.impl.conn.DefaultClientConnectionOperator.<init>:(Lorg/apache/http/conn/scheme/SchemeRegistry;)V
            areturn
        end local 1 // org.apache.http.conn.scheme.SchemeRegistry schreg
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0    1     1  schreg  Lorg/apache/http/conn/scheme/SchemeRegistry;
    MethodParameters:
        Name  Flags
      schreg  final

  public final org.apache.http.conn.ClientConnectionRequest requestConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
    descriptor: (Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ClientConnectionRequest;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.conn.routing.HttpRoute route
        start local 2 // java.lang.Object state
         0: .line 135
            new org.apache.http.impl.conn.BasicClientConnectionManager$1
            dup
            aload 0 /* this */
            aload 1 /* route */
            aload 2 /* state */
            invokespecial org.apache.http.impl.conn.BasicClientConnectionManager$1.<init>:(Lorg/apache/http/impl/conn/BasicClientConnectionManager;Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object state
        end local 1 // org.apache.http.conn.routing.HttpRoute route
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0    1     1  route  Lorg/apache/http/conn/routing/HttpRoute;
            0    1     2  state  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      route  final
      state  final

  private void assertNotShutdown();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 153
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.shutdown:Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ldc "Connection manager has been shut down"
            invokestatic org.apache.http.util.Asserts.check:(ZLjava/lang/String;)V
         3: .line 154
            return
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;

  org.apache.http.conn.ManagedClientConnection getConnection(org.apache.http.conn.routing.HttpRoute, java.lang.Object);
    descriptor: (Lorg/apache/http/conn/routing/HttpRoute;Ljava/lang/Object;)Lorg/apache/http/conn/ManagedClientConnection;
    flags: (0x0000) 
    Code:
      stack=10, locals=6, args_size=3
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.conn.routing.HttpRoute route
        start local 2 // java.lang.Object state
         0: .line 157
            aload 1 /* route */
            ldc "Route"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 158
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         2: .line 159
            aload 0 /* this */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.assertNotShutdown:()V
         3: .line 160
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 5
         4: .line 161
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Get connection for route "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* route */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         5: .line 163
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
            ifnonnull 6
            iconst_1
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: ldc "Invalid use of BasicClientConnManager: connection still allocated.\nMake sure to release the connection before allocating another one."
            invokestatic org.apache.http.util.Asserts.check:(ZLjava/lang/String;)V
         8: .line 164
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnull 11
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.getPlannedRoute:()Lorg/apache/http/conn/routing/HttpRoute;
            aload 1 /* route */
            invokevirtual org.apache.http.conn.routing.HttpRoute.equals:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 165
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.close:()V
        10: .line 166
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
        11: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnonnull 15
        12: .line 169
            getstatic org.apache.http.impl.conn.BasicClientConnectionManager.COUNTER:Ljava/util/concurrent/atomic/AtomicLong;
            invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
            invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
            astore 4 /* id */
        start local 4 // java.lang.String id
        13: .line 170
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
            invokeinterface org.apache.http.conn.ClientConnectionOperator.createConnection:()Lorg/apache/http/conn/OperatedClientConnection;
            astore 5 /* opconn */
        start local 5 // org.apache.http.conn.OperatedClientConnection opconn
        14: .line 171
            aload 0 /* this */
            new org.apache.http.impl.conn.HttpPoolEntry
            dup
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            aload 4 /* id */
            aload 1 /* route */
            aload 5 /* opconn */
            lconst_0
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokespecial org.apache.http.impl.conn.HttpPoolEntry.<init>:(Lorg/apache/commons/logging/Log;Ljava/lang/String;Lorg/apache/http/conn/routing/HttpRoute;Lorg/apache/http/conn/OperatedClientConnection;JLjava/util/concurrent/TimeUnit;)V
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
        end local 5 // org.apache.http.conn.OperatedClientConnection opconn
        end local 4 // java.lang.String id
        15: .line 173
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 4 /* now */
        start local 4 // long now
        16: .line 174
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            lload 4 /* now */
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.isExpired:(J)Z
            ifeq 19
        17: .line 175
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.close:()V
        18: .line 176
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.getTracker:()Lorg/apache/http/conn/routing/RouteTracker;
            invokevirtual org.apache.http.conn.routing.RouteTracker.reset:()V
        19: .line 178
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            new org.apache.http.impl.conn.ManagedClientConnectionImpl
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.connOperator:Lorg/apache/http/conn/ClientConnectionOperator;
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokespecial org.apache.http.impl.conn.ManagedClientConnectionImpl.<init>:(Lorg/apache/http/conn/ClientConnectionManager;Lorg/apache/http/conn/ClientConnectionOperator;Lorg/apache/http/impl/conn/HttpPoolEntry;)V
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
        20: .line 179
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
            aload 3
            monitorexit
        21: areturn
        end local 4 // long now
        22: .line 158
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.routing.HttpRoute java.lang.Object org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        23: athrow
        end local 2 // java.lang.Object state
        end local 1 // org.apache.http.conn.routing.HttpRoute route
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   24     0    this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0   24     1   route  Lorg/apache/http/conn/routing/HttpRoute;
            0   24     2   state  Ljava/lang/Object;
           13   15     4      id  Ljava/lang/String;
           14   15     5  opconn  Lorg/apache/http/conn/OperatedClientConnection;
           16   22     4     now  J
      Exception table:
        from    to  target  type
           2    21      22  any
          22    23      22  any
    MethodParameters:
       Name  Flags
      route  final
      state  final

  private void shutdownConnection(org.apache.http.HttpClientConnection);
    descriptor: (Lorg/apache/http/HttpClientConnection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.HttpClientConnection conn
         0: .line 185
            aload 1 /* conn */
            invokeinterface org.apache.http.HttpClientConnection.shutdown:()V
         1: .line 186
            goto 5
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 2 /* iox */
        start local 2 // java.io.IOException iox
         3: .line 187
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 5
         4: .line 188
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            ldc "I/O exception shutting down connection"
            aload 2 /* iox */
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        end local 2 // java.io.IOException iox
         5: .line 191
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.http.HttpClientConnection conn
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0    6     1  conn  Lorg/apache/http/HttpClientConnection;
            3    5     2   iox  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
    MethodParameters:
      Name  Flags
      conn  final

  public void releaseConnection(org.apache.http.conn.ManagedClientConnection, long, java.util.concurrent.TimeUnit);
    descriptor: (Lorg/apache/http/conn/ManagedClientConnection;JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // org.apache.http.conn.ManagedClientConnection conn
        start local 2 // long keepalive
        start local 4 // java.util.concurrent.TimeUnit timeUnit
         0: .line 195
            aload 1 /* conn */
            instanceof org.apache.http.impl.conn.ManagedClientConnectionImpl
            ldc "Connection class mismatch, connection not obtained from this manager"
            invokestatic org.apache.http.util.Args.check:(ZLjava/lang/String;)V
         1: .line 197
            aload 1 /* conn */
            checkcast org.apache.http.impl.conn.ManagedClientConnectionImpl
            astore 5 /* managedConn */
        start local 5 // org.apache.http.impl.conn.ManagedClientConnectionImpl managedConn
         2: .line 198
            aload 5 /* managedConn */
            dup
            astore 6
            monitorenter
         3: .line 199
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 5
         4: .line 200
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Releasing connection "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* conn */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
         5: .line 202
      StackMap locals: org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl
      StackMap stack:
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.getPoolEntry:()Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnonnull 8
         6: .line 203
            aload 6
            monitorexit
         7: return
         8: .line 205
      StackMap locals:
      StackMap stack:
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.getManager:()Lorg/apache/http/conn/ClientConnectionManager;
            astore 7 /* manager */
        start local 7 // org.apache.http.conn.ClientConnectionManager manager
         9: .line 206
            aload 7 /* manager */
            aload 0 /* this */
            if_acmpne 10
            iconst_1
            goto 11
      StackMap locals: org.apache.http.conn.ClientConnectionManager
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: ldc "Connection not obtained from this manager"
            invokestatic org.apache.http.util.Asserts.check:(ZLjava/lang/String;)V
        12: .line 207
            aload 0 /* this */
            dup
            astore 8
            monitorenter
        13: .line 208
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.shutdown:Z
            ifeq 18
        14: .line 209
            aload 0 /* this */
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.shutdownConnection:(Lorg/apache/http/HttpClientConnection;)V
        15: .line 210
            aload 8
            monitorexit
        16: aload 6
            monitorexit
        17: return
        18: .line 213
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack:
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.isOpen:()Z
            ifeq 20
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.isMarkedReusable:()Z
            ifne 20
        19: .line 214
            aload 0 /* this */
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.shutdownConnection:(Lorg/apache/http/HttpClientConnection;)V
        20: .line 216
      StackMap locals:
      StackMap stack:
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.isMarkedReusable:()Z
            ifeq 37
        21: .line 217
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            lload 2 /* keepalive */
            aload 4 /* timeUnit */
            ifnull 22
            aload 4 /* timeUnit */
            goto 23
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.ManagedClientConnection long java.util.concurrent.TimeUnit org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.conn.ClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack: org.apache.http.impl.conn.HttpPoolEntry long
        22: getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.ManagedClientConnection long java.util.concurrent.TimeUnit org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.conn.ClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack: org.apache.http.impl.conn.HttpPoolEntry long java.util.concurrent.TimeUnit
        23: invokevirtual org.apache.http.impl.conn.HttpPoolEntry.updateExpiry:(JLjava/util/concurrent/TimeUnit;)V
        24: .line 218
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            invokeinterface org.apache.commons.logging.Log.isDebugEnabled:()Z
            ifeq 37
        25: .line 220
            lload 2 /* keepalive */
            lconst_0
            lcmp
            ifle 28
        26: .line 221
            new java.lang.StringBuilder
            dup
            ldc "for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 2 /* keepalive */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* timeUnit */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 9 /* s */
        start local 9 // java.lang.String s
        27: .line 222
            goto 29
        end local 9 // java.lang.String s
        28: .line 223
      StackMap locals:
      StackMap stack:
            ldc "indefinitely"
            astore 9 /* s */
        start local 9 // java.lang.String s
        29: .line 225
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "Connection can be kept alive "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.debug:(Ljava/lang/Object;)V
        end local 9 // java.lang.String s
        30: .line 228
            goto 37
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.ManagedClientConnection long java.util.concurrent.TimeUnit org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.conn.ClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack: java.lang.Throwable
        31: astore 10
        32: .line 229
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.detach:()Lorg/apache/http/impl/conn/HttpPoolEntry;
            pop
        33: .line 230
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
        34: .line 231
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.isClosed:()Z
            ifeq 36
        35: .line 232
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
        36: .line 234
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.ManagedClientConnection long java.util.concurrent.TimeUnit org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.conn.ClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager top java.lang.Throwable
      StackMap stack:
            aload 10
            athrow
        37: .line 229
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.conn.ManagedClientConnection long java.util.concurrent.TimeUnit org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.impl.conn.ManagedClientConnectionImpl org.apache.http.conn.ClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack:
            aload 5 /* managedConn */
            invokevirtual org.apache.http.impl.conn.ManagedClientConnectionImpl.detach:()Lorg/apache/http/impl/conn/HttpPoolEntry;
            pop
        38: .line 230
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
        39: .line 231
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.isClosed:()Z
            ifeq 41
        40: .line 232
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
        41: .line 207
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        42: goto 45
      StackMap locals:
      StackMap stack: java.lang.Throwable
        43: aload 8
            monitorexit
        44: athrow
        end local 7 // org.apache.http.conn.ClientConnectionManager manager
        45: .line 198
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        46: goto 49
      StackMap locals:
      StackMap stack: java.lang.Throwable
        47: aload 6
            monitorexit
        48: athrow
        49: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.apache.http.impl.conn.ManagedClientConnectionImpl managedConn
        end local 4 // java.util.concurrent.TimeUnit timeUnit
        end local 2 // long keepalive
        end local 1 // org.apache.http.conn.ManagedClientConnection conn
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   50     0         this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0   50     1         conn  Lorg/apache/http/conn/ManagedClientConnection;
            0   50     2    keepalive  J
            0   50     4     timeUnit  Ljava/util/concurrent/TimeUnit;
            2   50     5  managedConn  Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
            9   45     7      manager  Lorg/apache/http/conn/ClientConnectionManager;
           27   28     9            s  Ljava/lang/String;
           29   30     9            s  Ljava/lang/String;
      Exception table:
        from    to  target  type
          18    31      31  any
          13    16      43  any
          18    42      43  any
          43    44      43  any
           3     7      47  any
           8    17      47  any
          18    46      47  any
          47    48      47  any
    MethodParameters:
           Name  Flags
      conn       final
      keepalive  final
      timeUnit   final

  public void closeExpiredConnections();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 241
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 242
            aload 0 /* this */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.assertNotShutdown:()V
         2: .line 243
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 2 /* now */
        start local 2 // long now
         3: .line 244
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnull 6
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            lload 2 /* now */
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.isExpired:(J)Z
            ifeq 6
         4: .line 245
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.close:()V
         5: .line 246
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.getTracker:()Lorg/apache/http/conn/routing/RouteTracker;
            invokevirtual org.apache.http.conn.routing.RouteTracker.reset:()V
        end local 2 // long now
         6: .line 241
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack:
            aload 1
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 1
            monitorexit
         9: athrow
        10: .line 249
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            3    6     2   now  J
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any

  public void closeIdleConnections(long, java.util.concurrent.TimeUnit);
    descriptor: (JLjava/util/concurrent/TimeUnit;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
        start local 1 // long idletime
        start local 3 // java.util.concurrent.TimeUnit timeUnit
         0: .line 253
            aload 3 /* timeUnit */
            ldc "Time unit"
            invokestatic org.apache.http.util.Args.notNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 254
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         2: .line 255
            aload 0 /* this */
            invokevirtual org.apache.http.impl.conn.BasicClientConnectionManager.assertNotShutdown:()V
         3: .line 256
            aload 3 /* timeUnit */
            lload 1 /* idletime */
            invokevirtual java.util.concurrent.TimeUnit.toMillis:(J)J
            lstore 5 /* time */
        start local 5 // long time
         4: .line 257
            lload 5 /* time */
            lconst_0
            lcmp
            ifge 6
         5: .line 258
            lconst_0
            lstore 5 /* time */
         6: .line 260
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager long
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 5 /* time */
            lsub
            lstore 7 /* deadline */
        start local 7 // long deadline
         7: .line 261
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnull 10
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.getUpdated:()J
            lload 7 /* deadline */
            lcmp
            ifgt 10
         8: .line 262
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.close:()V
         9: .line 263
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.getTracker:()Lorg/apache/http/conn/routing/RouteTracker;
            invokevirtual org.apache.http.conn.routing.RouteTracker.reset:()V
        end local 7 // long deadline
        end local 5 // long time
        10: .line 254
      StackMap locals:
      StackMap stack:
            aload 4
            monitorexit
        11: goto 14
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        14: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.concurrent.TimeUnit timeUnit
        end local 1 // long idletime
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
            0   15     1  idletime  J
            0   15     3  timeUnit  Ljava/util/concurrent/TimeUnit;
            4   10     5      time  J
            7   10     7  deadline  J
      Exception table:
        from    to  target  type
           2    11      12  any
          12    13      12  any
    MethodParameters:
          Name  Flags
      idletime  final
      timeUnit  final

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
         0: .line 270
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 271
            aload 0 /* this */
            iconst_1
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.shutdown:Z
         2: .line 273
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            ifnull 9
         3: .line 274
            aload 0 /* this */
            getfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
            invokevirtual org.apache.http.impl.conn.HttpPoolEntry.close:()V
         4: .line 276
            goto 9
      StackMap locals: org.apache.http.impl.conn.BasicClientConnectionManager org.apache.http.impl.conn.BasicClientConnectionManager
      StackMap stack: java.lang.Throwable
         5: astore 2
         6: .line 277
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
         7: .line 278
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
         8: .line 279
            aload 2
            athrow
         9: .line 277
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.poolEntry:Lorg/apache/http/impl/conn/HttpPoolEntry;
        10: .line 278
            aload 0 /* this */
            aconst_null
            putfield org.apache.http.impl.conn.BasicClientConnectionManager.conn:Lorg/apache/http/impl/conn/ManagedClientConnectionImpl;
        11: .line 270
            aload 1
            monitorexit
        12: goto 15
      StackMap locals:
      StackMap stack: java.lang.Throwable
        13: aload 1
            monitorexit
        14: athrow
        15: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.http.impl.conn.BasicClientConnectionManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/apache/http/impl/conn/BasicClientConnectionManager;
      Exception table:
        from    to  target  type
           2     5       5  any
           1    12      13  any
          13    14      13  any
}
SourceFile: "BasicClientConnectionManager.java"
NestMembers:
  org.apache.http.impl.conn.BasicClientConnectionManager$1
InnerClasses:
  org.apache.http.impl.conn.BasicClientConnectionManager$1
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    RuntimeInvisibleAnnotations: 
      org.apache.http.annotation.Contract(threading = org.apache.http.annotation.ThreadingBehavior.SAFE:Lorg/apache/http/annotation/ThreadingBehavior;)