public final class com.sun.jndi.ldap.pool.Pool
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.jndi.ldap.pool.Pool
  super_class: java.lang.Object
{
  static final boolean debug;
    descriptor: Z
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final java.lang.ref.ReferenceQueue<com.sun.jndi.ldap.pool.ConnectionsRef> queue;
    descriptor: Ljava/lang/ref/ReferenceQueue;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ref/ReferenceQueue<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;

  private static final java.util.Collection<java.lang.ref.Reference<com.sun.jndi.ldap.pool.ConnectionsRef>> weakRefs;
    descriptor: Ljava/util/Collection;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/ref/Reference<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;>;

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

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

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

  private final java.util.Map<java.lang.Object, com.sun.jndi.ldap.pool.ConnectionsRef> map;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 80
            getstatic com.sun.jndi.ldap.LdapPoolManager.debug:Z
            putstatic com.sun.jndi.ldap.pool.Pool.debug:Z
         1: .line 86
            new java.lang.ref.ReferenceQueue
            dup
            invokespecial java.lang.ref.ReferenceQueue.<init>:()V
         2: .line 85
            putstatic com.sun.jndi.ldap.pool.Pool.queue:Ljava/lang/ref/ReferenceQueue;
         3: .line 88
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
         4: .line 87
            putstatic com.sun.jndi.ldap.pool.Pool.weakRefs:Ljava/util/Collection;
         5: .line 88
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, int, int);
    descriptor: (III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // int initSize
        start local 2 // int prefSize
        start local 3 // int maxSize
         0: .line 95
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 96
            aload 0 /* this */
            new java.util.WeakHashMap
            dup
            invokespecial java.util.WeakHashMap.<init>:()V
            putfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
         2: .line 97
            aload 0 /* this */
            iload 2 /* prefSize */
            putfield com.sun.jndi.ldap.pool.Pool.prefSize:I
         3: .line 98
            aload 0 /* this */
            iload 3 /* maxSize */
            putfield com.sun.jndi.ldap.pool.Pool.maxSize:I
         4: .line 99
            aload 0 /* this */
            iload 1 /* initSize */
            putfield com.sun.jndi.ldap.pool.Pool.initSize:I
         5: .line 100
            return
        end local 3 // int maxSize
        end local 2 // int prefSize
        end local 1 // int initSize
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lcom/sun/jndi/ldap/pool/Pool;
            0    6     1  initSize  I
            0    6     2  prefSize  I
            0    6     3   maxSize  I
    MethodParameters:
          Name  Flags
      initSize  
      prefSize  
      maxSize   

  public com.sun.jndi.ldap.pool.PooledConnection getPooledConnection(java.lang.Object, long, com.sun.jndi.ldap.pool.PooledConnectionFactory);
    descriptor: (Ljava/lang/Object;JLcom/sun/jndi/ldap/pool/PooledConnectionFactory;)Lcom/sun/jndi/ldap/pool/PooledConnection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=9, args_size=4
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // java.lang.Object id
        start local 2 // long timeout
        start local 4 // com.sun.jndi.ldap.pool.PooledConnectionFactory factory
         0: .line 120
            aload 0 /* this */
            ldc "get(): "
            aload 1 /* id */
            invokevirtual com.sun.jndi.ldap.pool.Pool.d:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 121
            aload 0 /* this */
            ldc "size: "
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual com.sun.jndi.ldap.pool.Pool.d:(Ljava/lang/String;I)V
         2: .line 123
            invokestatic com.sun.jndi.ldap.pool.Pool.expungeStaleConnections:()V
         3: .line 126
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            dup
            astore 6
            monitorenter
         4: .line 127
            aload 0 /* this */
            aload 1 /* id */
            invokevirtual com.sun.jndi.ldap.pool.Pool.getConnections:(Ljava/lang/Object;)Lcom/sun/jndi/ldap/pool/Connections;
            astore 5 /* conns */
        start local 5 // com.sun.jndi.ldap.pool.Connections conns
         5: .line 128
            aload 5 /* conns */
            ifnonnull 15
         6: .line 129
            aload 0 /* this */
            ldc "get(): creating new connections list for "
            aload 1 /* id */
            invokevirtual com.sun.jndi.ldap.pool.Pool.d:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 132
            new com.sun.jndi.ldap.pool.Connections
            dup
            aload 1 /* id */
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.initSize:I
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.prefSize:I
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.maxSize:I
         8: .line 133
            aload 4 /* factory */
         9: .line 132
            invokespecial com.sun.jndi.ldap.pool.Connections.<init>:(Ljava/lang/Object;IIILcom/sun/jndi/ldap/pool/PooledConnectionFactory;)V
            astore 5 /* conns */
        10: .line 134
            new com.sun.jndi.ldap.pool.ConnectionsRef
            dup
            aload 5 /* conns */
            invokespecial com.sun.jndi.ldap.pool.ConnectionsRef.<init>:(Lcom/sun/jndi/ldap/pool/Connections;)V
            astore 7 /* connsRef */
        start local 7 // com.sun.jndi.ldap.pool.ConnectionsRef connsRef
        11: .line 135
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            aload 1 /* id */
            aload 7 /* connsRef */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 139
            new com.sun.jndi.ldap.pool.ConnectionsWeakRef
            dup
            aload 7 /* connsRef */
            getstatic com.sun.jndi.ldap.pool.Pool.queue:Ljava/lang/ref/ReferenceQueue;
            invokespecial com.sun.jndi.ldap.pool.ConnectionsWeakRef.<init>:(Lcom/sun/jndi/ldap/pool/ConnectionsRef;Ljava/lang/ref/ReferenceQueue;)V
        13: .line 138
            astore 8 /* weakRef */
        start local 8 // java.lang.ref.Reference weakRef
        14: .line 142
            getstatic com.sun.jndi.ldap.pool.Pool.weakRefs:Ljava/util/Collection;
            aload 8 /* weakRef */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.ref.Reference weakRef
        end local 7 // com.sun.jndi.ldap.pool.ConnectionsRef connsRef
        15: .line 126
      StackMap locals: com.sun.jndi.ldap.pool.Connections java.util.Map
      StackMap stack:
            aload 6
            monitorexit
        16: goto 19
        end local 5 // com.sun.jndi.ldap.pool.Connections conns
      StackMap locals: com.sun.jndi.ldap.pool.Pool java.lang.Object long com.sun.jndi.ldap.pool.PooledConnectionFactory top java.util.Map
      StackMap stack: java.lang.Throwable
        17: aload 6
            monitorexit
        18: athrow
        start local 5 // com.sun.jndi.ldap.pool.Connections conns
        19: .line 146
      StackMap locals: com.sun.jndi.ldap.pool.Pool java.lang.Object long com.sun.jndi.ldap.pool.PooledConnectionFactory com.sun.jndi.ldap.pool.Connections
      StackMap stack:
            aload 0 /* this */
            ldc "get(): size after: "
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual com.sun.jndi.ldap.pool.Pool.d:(Ljava/lang/String;I)V
        20: .line 148
            aload 5 /* conns */
            lload 2 /* timeout */
            aload 4 /* factory */
            invokevirtual com.sun.jndi.ldap.pool.Connections.get:(JLcom/sun/jndi/ldap/pool/PooledConnectionFactory;)Lcom/sun/jndi/ldap/pool/PooledConnection;
            areturn
        end local 5 // com.sun.jndi.ldap.pool.Connections conns
        end local 4 // com.sun.jndi.ldap.pool.PooledConnectionFactory factory
        end local 2 // long timeout
        end local 1 // java.lang.Object id
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lcom/sun/jndi/ldap/pool/Pool;
            0   21     1        id  Ljava/lang/Object;
            0   21     2   timeout  J
            0   21     4   factory  Lcom/sun/jndi/ldap/pool/PooledConnectionFactory;
            5   17     5     conns  Lcom/sun/jndi/ldap/pool/Connections;
           19   21     5     conns  Lcom/sun/jndi/ldap/pool/Connections;
           11   15     7  connsRef  Lcom/sun/jndi/ldap/pool/ConnectionsRef;
           14   15     8   weakRef  Ljava/lang/ref/Reference<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;
      Exception table:
        from    to  target  type
           4    16      17  any
          17    18      17  any
    Exceptions:
      throws javax.naming.NamingException
    MethodParameters:
         Name  Flags
      id       
      timeout  
      factory  

  private com.sun.jndi.ldap.pool.Connections getConnections(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lcom/sun/jndi/ldap/pool/Connections;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // java.lang.Object id
         0: .line 152
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            aload 1 /* id */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.jndi.ldap.pool.ConnectionsRef
            astore 2 /* ref */
        start local 2 // com.sun.jndi.ldap.pool.ConnectionsRef ref
         1: .line 153
            aload 2 /* ref */
            ifnull 2
            aload 2 /* ref */
            invokevirtual com.sun.jndi.ldap.pool.ConnectionsRef.getConnections:()Lcom/sun/jndi/ldap/pool/Connections;
            goto 3
      StackMap locals: com.sun.jndi.ldap.pool.ConnectionsRef
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: com.sun.jndi.ldap.pool.Connections
         3: areturn
        end local 2 // com.sun.jndi.ldap.pool.ConnectionsRef ref
        end local 1 // java.lang.Object id
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/jndi/ldap/pool/Pool;
            0    4     1    id  Ljava/lang/Object;
            1    4     2   ref  Lcom/sun/jndi/ldap/pool/ConnectionsRef;
    MethodParameters:
      Name  Flags
      id    

  public void expire(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // long threshold
         0: .line 167
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            dup
            astore 4
            monitorenter
         1: .line 168
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 3 /* copy */
        start local 3 // java.util.Collection copy
         2: .line 167
            aload 4
            monitorexit
         3: goto 6
        end local 3 // java.util.Collection copy
      StackMap locals: com.sun.jndi.ldap.pool.Pool long top java.util.Map
      StackMap stack: java.lang.Throwable
         4: aload 4
            monitorexit
         5: athrow
        start local 3 // java.util.Collection copy
         6: .line 171
      StackMap locals: com.sun.jndi.ldap.pool.Pool long java.util.Collection
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* removed */
        start local 4 // java.util.ArrayList removed
         7: .line 173
            aload 3 /* copy */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 7
            goto 13
      StackMap locals: com.sun.jndi.ldap.pool.Pool long java.util.Collection java.util.ArrayList top top java.util.Iterator
      StackMap stack:
         8: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.jndi.ldap.pool.ConnectionsRef
            astore 6 /* ref */
        start local 6 // com.sun.jndi.ldap.pool.ConnectionsRef ref
         9: .line 174
            aload 6 /* ref */
            invokevirtual com.sun.jndi.ldap.pool.ConnectionsRef.getConnections:()Lcom/sun/jndi/ldap/pool/Connections;
            astore 5 /* conns */
        start local 5 // com.sun.jndi.ldap.pool.Connections conns
        10: .line 175
            aload 5 /* conns */
            lload 1 /* threshold */
            invokevirtual com.sun.jndi.ldap.pool.Connections.expire:(J)Z
            ifeq 13
        11: .line 176
            aload 0 /* this */
            ldc "expire(): removing "
            aload 5 /* conns */
            invokevirtual com.sun.jndi.ldap.pool.Pool.d:(Ljava/lang/String;Ljava/lang/Object;)V
        12: .line 177
            aload 4 /* removed */
            aload 6 /* ref */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.sun.jndi.ldap.pool.ConnectionsRef ref
        end local 5 // com.sun.jndi.ldap.pool.Connections conns
        13: .line 173
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 181
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            dup
            astore 6
            monitorenter
        15: .line 182
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 4 /* removed */
            invokeinterface java.util.Collection.removeAll:(Ljava/util/Collection;)Z
            pop
        16: .line 181
            aload 6
            monitorexit
        17: goto 20
      StackMap locals: com.sun.jndi.ldap.pool.Pool long java.util.Collection java.util.ArrayList top java.util.Map
      StackMap stack: java.lang.Throwable
        18: aload 6
            monitorexit
        19: athrow
        20: .line 185
      StackMap locals: com.sun.jndi.ldap.pool.Pool long java.util.Collection java.util.ArrayList
      StackMap stack:
            invokestatic com.sun.jndi.ldap.pool.Pool.expungeStaleConnections:()V
        21: .line 186
            return
        end local 4 // java.util.ArrayList removed
        end local 3 // java.util.Collection copy
        end local 1 // long threshold
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Lcom/sun/jndi/ldap/pool/Pool;
            0   22     1  threshold  J
            2    4     3       copy  Ljava/util/Collection<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;
            6   22     3       copy  Ljava/util/Collection<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;
            7   22     4    removed  Ljava/util/ArrayList<Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;
           10   13     5      conns  Lcom/sun/jndi/ldap/pool/Connections;
            9   13     6        ref  Lcom/sun/jndi/ldap/pool/ConnectionsRef;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
          15    17      18  any
          18    19      18  any
    MethodParameters:
           Name  Flags
      threshold  

  private static void expungeStaleConnections();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 194
            aconst_null
            astore 0 /* releaseRef */
        start local 0 // com.sun.jndi.ldap.pool.ConnectionsWeakRef releaseRef
         1: .line 195
            goto 10
         2: .line 197
      StackMap locals: com.sun.jndi.ldap.pool.ConnectionsWeakRef
      StackMap stack:
            aload 0 /* releaseRef */
            invokevirtual com.sun.jndi.ldap.pool.ConnectionsWeakRef.getConnections:()Lcom/sun/jndi/ldap/pool/Connections;
            astore 1 /* conns */
        start local 1 // com.sun.jndi.ldap.pool.Connections conns
         3: .line 199
            getstatic com.sun.jndi.ldap.pool.Pool.debug:Z
            ifeq 7
         4: .line 200
            getstatic java.lang.System.err:Ljava/io/PrintStream;
         5: .line 201
            new java.lang.StringBuilder
            dup
            ldc "weak reference cleanup: Closing Connections:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* conns */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 200
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         7: .line 205
      StackMap locals: com.sun.jndi.ldap.pool.Connections
      StackMap stack:
            aload 1 /* conns */
            invokevirtual com.sun.jndi.ldap.pool.Connections.close:()V
         8: .line 206
            getstatic com.sun.jndi.ldap.pool.Pool.weakRefs:Ljava/util/Collection;
            aload 0 /* releaseRef */
            invokeinterface java.util.Collection.remove:(Ljava/lang/Object;)Z
            pop
         9: .line 207
            aload 0 /* releaseRef */
            invokevirtual com.sun.jndi.ldap.pool.ConnectionsWeakRef.clear:()V
        end local 1 // com.sun.jndi.ldap.pool.Connections conns
        10: .line 195
      StackMap locals:
      StackMap stack:
            getstatic com.sun.jndi.ldap.pool.Pool.queue:Ljava/lang/ref/ReferenceQueue;
            invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
            checkcast com.sun.jndi.ldap.pool.ConnectionsWeakRef
            dup
            astore 0 /* releaseRef */
            ifnonnull 2
        11: .line 209
            return
        end local 0 // com.sun.jndi.ldap.pool.ConnectionsWeakRef releaseRef
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1   12     0  releaseRef  Lcom/sun/jndi/ldap/pool/ConnectionsWeakRef;
            3   10     1       conns  Lcom/sun/jndi/ldap/pool/Connections;

  public void showStats(java.io.PrintStream);
    descriptor: (Ljava/io/PrintStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // java.io.PrintStream out
         0: .line 216
            aload 1 /* out */
            ldc "===== Pool start ======================"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 217
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "maximum pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.maxSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 218
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "preferred pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.prefSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         3: .line 219
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "initial pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.initSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 220
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "current pool size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         5: .line 222
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: com.sun.jndi.ldap.pool.Pool java.io.PrintStream top top top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* entry */
        start local 4 // java.util.Map$Entry entry
         7: .line 223
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 2 /* id */
        start local 2 // java.lang.Object id
         8: .line 224
            aload 4 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.sun.jndi.ldap.pool.ConnectionsRef
            invokevirtual com.sun.jndi.ldap.pool.ConnectionsRef.getConnections:()Lcom/sun/jndi/ldap/pool/Connections;
            astore 3 /* conns */
        start local 3 // com.sun.jndi.ldap.pool.Connections conns
         9: .line 225
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc "   "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* id */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* conns */
            invokevirtual com.sun.jndi.ldap.pool.Connections.getStats:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 4 // java.util.Map$Entry entry
        end local 3 // com.sun.jndi.ldap.pool.Connections conns
        end local 2 // java.lang.Object id
        10: .line 222
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        11: .line 228
            aload 1 /* out */
            ldc "====== Pool end ====================="
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        12: .line 229
            return
        end local 1 // java.io.PrintStream out
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/sun/jndi/ldap/pool/Pool;
            0   13     1    out  Ljava/io/PrintStream;
            8   10     2     id  Ljava/lang/Object;
            9   10     3  conns  Lcom/sun/jndi/ldap/pool/Connections;
            7   10     4  entry  Ljava/util/Map$Entry<Ljava/lang/Object;Lcom/sun/jndi/ldap/pool/ConnectionsRef;>;
    MethodParameters:
      Name  Flags
      out   

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.pool.Pool this
         0: .line 232
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            invokespecial java.lang.Object.toString:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.jndi.ldap.pool.Pool.map:Ljava/util/Map;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/ldap/pool/Pool;

  private void d(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // java.lang.String msg
        start local 2 // int i
         0: .line 236
            getstatic com.sun.jndi.ldap.pool.Pool.debug:Z
            ifeq 2
         1: .line 237
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 239
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int i
        end local 1 // java.lang.String msg
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jndi/ldap/pool/Pool;
            0    3     1   msg  Ljava/lang/String;
            0    3     2     i  I
    MethodParameters:
      Name  Flags
      msg   
      i     

  private void d(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.sun.jndi.ldap.pool.Pool this
        start local 1 // java.lang.String msg
        start local 2 // java.lang.Object obj
         0: .line 242
            getstatic com.sun.jndi.ldap.pool.Pool.debug:Z
            ifeq 2
         1: .line 243
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* msg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* obj */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 245
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object obj
        end local 1 // java.lang.String msg
        end local 0 // com.sun.jndi.ldap.pool.Pool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jndi/ldap/pool/Pool;
            0    3     1   msg  Ljava/lang/String;
            0    3     2   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      msg   
      obj   
}
SourceFile: "Pool.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map