public class org.hsqldb.jdbc.JDBCPool implements javax.sql.DataSource, javax.naming.Referenceable, javax.sql.ConnectionEventListener, javax.sql.StatementEventListener, java.sql.Wrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.jdbc.JDBCPool
  super_class: java.lang.Object
{
  java.util.concurrent.atomic.AtomicIntegerArray states;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerArray;
    flags: (0x0000) 

  org.hsqldb.jdbc.pool.JDBCPooledConnection[] connections;
    descriptor: [Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
    flags: (0x0000) 

  org.hsqldb.jdbc.pool.JDBCPooledDataSource source;
    descriptor: Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
    flags: (0x0000) 

  volatile boolean closed;
    descriptor: Z
    flags: (0x0040) ACC_VOLATILE

  public java.sql.Connection getConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 89
            sipush 300
            istore 1 /* retries */
        start local 1 // int retries
         1: .line 91
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            getfield org.hsqldb.jdbc.pool.JDBCPooledDataSource.loginTimeout:I
            ifeq 3
         2: .line 92
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            getfield org.hsqldb.jdbc.pool.JDBCPooledDataSource.loginTimeout:I
            bipush 10
            imul
            istore 1 /* retries */
         3: .line 95
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.closed:Z
            ifeq 5
         4: .line 96
            new java.sql.SQLException
            dup
            ldc "connection pool is closed"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 99
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         6: goto 33
         7: .line 100
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         8: goto 28
         9: .line 101
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_1
        10: .line 102
            iconst_2
        11: .line 101
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.compareAndSet:(III)Z
        12: .line 102
            ifeq 14
        13: .line 103
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledConnection.getConnection:()Ljava/sql/Connection;
            areturn
        14: .line 106
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_0
        15: .line 107
            iconst_2
        16: .line 106
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.compareAndSet:(III)Z
        17: .line 107
            ifeq 27
        18: .line 110
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getPooledConnection:()Ljavax/sql/PooledConnection;
            checkcast org.hsqldb.jdbc.pool.JDBCPooledConnection
        19: .line 109
            astore 4 /* connection */
        start local 4 // org.hsqldb.jdbc.pool.JDBCPooledConnection connection
        20: .line 112
            aload 4 /* connection */
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledConnection.addConnectionEventListener:(Ljavax/sql/ConnectionEventListener;)V
        21: .line 113
            aload 4 /* connection */
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledConnection.addStatementEventListener:(Ljavax/sql/StatementEventListener;)V
        22: .line 114
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aload 4 /* connection */
            aastore
        23: .line 116
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledConnection.getConnection:()Ljava/sql/Connection;
        24: areturn
        end local 4 // org.hsqldb.jdbc.pool.JDBCPooledConnection connection
        25: .line 117
      StackMap locals:
      StackMap stack: java.sql.SQLException
            pop
        26: .line 118
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.set:(II)V
        27: .line 100
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.length:()I
            if_icmplt 9
        end local 3 // int i
        29: .line 124
            ldc 100
            invokestatic java.lang.Thread.sleep:(J)V
        30: .line 125
            goto 32
      StackMap locals: org.hsqldb.jdbc.JDBCPool int int
      StackMap stack: java.lang.InterruptedException
        31: pop
        32: .line 99
      StackMap locals:
      StackMap stack:
            iinc 2 /* count */ 1
      StackMap locals:
      StackMap stack:
        33: iload 2 /* count */
            iload 1 /* retries */
            if_icmplt 7
        end local 2 // int count
        34: .line 128
            invokestatic org.hsqldb.jdbc.JDBCUtil.invalidArgument:()Ljava/sql/SQLException;
            athrow
        end local 1 // int retries
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   35     0        this  Lorg/hsqldb/jdbc/JDBCPool;
            1   35     1     retries  I
            6   34     2       count  I
            8   29     3           i  I
           20   25     4  connection  Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
      Exception table:
        from    to  target  type
          18    24      25  Class java.sql.SQLException
          29    30      31  Class java.lang.InterruptedException
    Exceptions:
      throws java.sql.SQLException

  public java.sql.Connection getConnection(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String username
        start local 2 // java.lang.String password
         0: .line 149
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCPool.getUser:()Ljava/lang/String;
            astore 3 /* user */
        start local 3 // java.lang.String user
         1: .line 151
            aload 1 /* username */
            ifnull 2
            aload 2 /* password */
            ifnonnull 3
         2: .line 152
      StackMap locals: java.lang.String
      StackMap stack:
            invokestatic org.hsqldb.jdbc.JDBCUtil.nullArgument:()Ljava/sql/SQLException;
            athrow
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 3 /* user */
            ifnonnull 7
         4: .line 156
            aload 0 /* this */
            aload 1 /* username */
            invokevirtual org.hsqldb.jdbc.JDBCPool.setUser:(Ljava/lang/String;)V
         5: .line 157
            aload 0 /* this */
            aload 2 /* password */
            invokevirtual org.hsqldb.jdbc.JDBCPool.setPassword:(Ljava/lang/String;)V
         6: .line 158
            goto 9
      StackMap locals:
      StackMap stack:
         7: aload 3 /* user */
            aload 1 /* username */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 159
            ldc "user name does not match"
            invokestatic org.hsqldb.jdbc.JDBCUtil.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
         9: .line 162
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.jdbc.JDBCPool.getConnection:()Ljava/sql/Connection;
            areturn
        end local 3 // java.lang.String user
        end local 2 // java.lang.String password
        end local 1 // java.lang.String username
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/hsqldb/jdbc/JDBCPool;
            0   10     1  username  Ljava/lang/String;
            0   10     2  password  Ljava/lang/String;
            1   10     3      user  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
          Name  Flags
      username  
      password  

  public <T> T unwrap(java.lang.Class<T>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.Class iface
         0: .line 187
            aload 0 /* this */
            aload 1 /* iface */
            invokevirtual org.hsqldb.jdbc.JDBCPool.isWrapperFor:(Ljava/lang/Class;)Z
            ifeq 2
         1: .line 188
            aload 0 /* this */
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "iface: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* iface */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.jdbc.JDBCUtil.invalidArgument:(Ljava/lang/String;)Ljava/sql/SQLException;
            athrow
        end local 1 // java.lang.Class iface
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            0    3     1  iface  Ljava/lang/Class<TT;>;
    Exceptions:
      throws java.sql.SQLException
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
       Name  Flags
      iface  

  public boolean isWrapperFor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.Class iface
         0: .line 211
            aload 1 /* iface */
            ifnull 1
            aload 1 /* iface */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.Class iface
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  iface  Ljava/lang/Class<*>;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      iface  

  public javax.naming.Reference getReference();
    descriptor: ()Ljavax/naming/Reference;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 222
            ldc "org.hsqldb.jdbc.JDBCDataSourceFactory"
            astore 1 /* cname */
        start local 1 // java.lang.String cname
         1: .line 223
            new javax.naming.Reference
            dup
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 1 /* cname */
            aconst_null
            invokespecial javax.naming.Reference.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
            astore 2 /* ref */
        start local 2 // javax.naming.Reference ref
         2: .line 225
            aload 2 /* ref */
            new javax.naming.StringRefAddr
            dup
            ldc "database"
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getDatabase:()Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
         3: .line 226
            aload 2 /* ref */
            new javax.naming.StringRefAddr
            dup
            ldc "user"
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getUser:()Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
         4: .line 227
            aload 2 /* ref */
            new javax.naming.StringRefAddr
            dup
            ldc "password"
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            getfield org.hsqldb.jdbc.pool.JDBCPooledDataSource.password:Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
         5: .line 228
            aload 2 /* ref */
            new javax.naming.StringRefAddr
            dup
            ldc "loginTimeout"
         6: .line 229
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            getfield org.hsqldb.jdbc.pool.JDBCPooledDataSource.loginTimeout:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 228
            invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
         8: .line 230
            aload 2 /* ref */
            new javax.naming.StringRefAddr
            dup
            ldc "poolSize"
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokespecial javax.naming.StringRefAddr.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            invokevirtual javax.naming.Reference.add:(Ljavax/naming/RefAddr;)V
         9: .line 232
            aload 2 /* ref */
            areturn
        end local 2 // javax.naming.Reference ref
        end local 1 // java.lang.String cname
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            1   10     1  cname  Ljava/lang/String;
            2   10     2    ref  Ljavax/naming/Reference;
    Exceptions:
      throws javax.naming.NamingException

  public void connectionClosed(javax.sql.ConnectionEvent);
    descriptor: (Ljavax/sql/ConnectionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // javax.sql.ConnectionEvent event
         0: .line 237
            aload 1 /* event */
            invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
            checkcast javax.sql.PooledConnection
            astore 2 /* connection */
        start local 2 // javax.sql.PooledConnection connection
         1: .line 239
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 240
      StackMap locals: javax.sql.PooledConnection int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aaload
            aload 2 /* connection */
            if_acmpne 6
         4: .line 241
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.set:(II)V
         5: .line 243
            goto 8
         6: .line 239
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 246
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.sql.PooledConnection connection
        end local 1 // javax.sql.ConnectionEvent event
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/hsqldb/jdbc/JDBCPool;
            0    9     1       event  Ljavax/sql/ConnectionEvent;
            1    9     2  connection  Ljavax/sql/PooledConnection;
            2    8     3           i  I
    MethodParameters:
       Name  Flags
      event  

  public void connectionErrorOccurred(javax.sql.ConnectionEvent);
    descriptor: (Ljavax/sql/ConnectionEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // javax.sql.ConnectionEvent event
         0: .line 249
            aload 1 /* event */
            invokevirtual javax.sql.ConnectionEvent.getSource:()Ljava/lang/Object;
            checkcast javax.sql.PooledConnection
            astore 2 /* connection */
        start local 2 // javax.sql.PooledConnection connection
         1: .line 251
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 9
         3: .line 252
      StackMap locals: javax.sql.PooledConnection int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aaload
            aload 2 /* connection */
            if_acmpne 8
         4: .line 253
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_2
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.set:(II)V
         5: .line 254
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 3 /* i */
            aconst_null
            aastore
         6: .line 255
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            iload 3 /* i */
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicIntegerArray.set:(II)V
         7: .line 256
            goto 10
         8: .line 251
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            if_icmplt 3
        end local 3 // int i
        10: .line 259
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javax.sql.PooledConnection connection
        end local 1 // javax.sql.ConnectionEvent event
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lorg/hsqldb/jdbc/JDBCPool;
            0   11     1       event  Ljavax/sql/ConnectionEvent;
            1   11     2  connection  Ljavax/sql/PooledConnection;
            2   10     3           i  I
    MethodParameters:
       Name  Flags
      event  

  public void statementClosed(javax.sql.StatementEvent);
    descriptor: (Ljavax/sql/StatementEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // javax.sql.StatementEvent event
         0: .line 261
            return
        end local 1 // javax.sql.StatementEvent event
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            0    1     1  event  Ljavax/sql/StatementEvent;
    MethodParameters:
       Name  Flags
      event  

  public void statementErrorOccurred(javax.sql.StatementEvent);
    descriptor: (Ljavax/sql/StatementEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // javax.sql.StatementEvent event
         0: .line 263
            return
        end local 1 // javax.sql.StatementEvent event
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            0    1     1  event  Ljavax/sql/StatementEvent;
    MethodParameters:
       Name  Flags
      event  

  public java.io.PrintWriter getLogWriter();
    descriptor: ()Ljava/io/PrintWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 289
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getLogWriter:()Ljava/io/PrintWriter;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;
    Exceptions:
      throws java.sql.SQLException

  public void setLogWriter(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.io.PrintWriter out
         0: .line 313
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* out */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setLogWriter:(Ljava/io/PrintWriter;)V
         1: .line 314
            return
        end local 1 // java.io.PrintWriter out
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1   out  Ljava/io/PrintWriter;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      out   

  public void setLoginTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // int seconds
         0: .line 330
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            iload 1 /* seconds */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setLoginTimeout:(I)V
         1: .line 331
            return
        end local 1 // int seconds
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  seconds  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
         Name  Flags
      seconds  

  public int getLoginTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 347
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getLoginTimeout:()I
            ireturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;
    Exceptions:
      throws java.sql.SQLException

  public java.lang.String getDescription();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 358
            new java.lang.StringBuilder
            dup
            ldc "org.hsqldb.jdbc.JDBCPool max size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getDataSourceName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 367
            ldc "org.hsqldb.jdbc.JDBCPool"
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getDatabaseName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 376
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getUrl:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getDatabase();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 385
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getDatabase:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getUrl();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 394
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getUrl:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 403
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getUrl:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public java.lang.String getUser();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 412
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.getUser:()Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public void setDatabaseName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String databaseName
         0: .line 421
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* databaseName */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setDatabaseName:(Ljava/lang/String;)V
         1: .line 422
            return
        end local 1 // java.lang.String databaseName
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  databaseName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      databaseName  

  public void setDatabase(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String database
         0: .line 430
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* database */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setDatabase:(Ljava/lang/String;)V
         1: .line 431
            return
        end local 1 // java.lang.String database
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  database  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      database  

  public void setUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String url
         0: .line 440
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* url */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setUrl:(Ljava/lang/String;)V
         1: .line 441
            return
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public void setURL(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String url
         0: .line 450
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* url */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setUrl:(Ljava/lang/String;)V
         1: .line 451
            return
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public void setPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String password
         0: .line 459
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* password */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setPassword:(Ljava/lang/String;)V
         1: .line 460
            return
        end local 1 // java.lang.String password
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      password  

  public void setUser(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.lang.String user
         0: .line 468
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* user */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setUser:(Ljava/lang/String;)V
         1: .line 469
            return
        end local 1 // java.lang.String user
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  user  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      user  

  public void setProperties(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // java.util.Properties props
         0: .line 480
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
            aload 1 /* props */
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledDataSource.setProperties:(Ljava/util/Properties;)V
         1: .line 481
            return
        end local 1 // java.util.Properties props
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/jdbc/JDBCPool;
            0    2     1  props  Ljava/util/Properties;
    MethodParameters:
       Name  Flags
      props  

  public java.util.logging.Logger getParentLogger();
    descriptor: ()Ljava/util/logging/Logger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 498
            invokestatic org.hsqldb.jdbc.JDBCUtil.notSupported:()Ljava/sql/SQLException;
            checkcast java.sql.SQLFeatureNotSupportedException
            athrow
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/jdbc/JDBCPool;
    Exceptions:
      throws java.sql.SQLFeatureNotSupportedException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.jdbc.JDBCPool this
         0: .line 508
            aload 0 /* this */
            bipush 10
            invokespecial org.hsqldb.jdbc.JDBCPool.<init>:(I)V
         1: .line 509
            return
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/jdbc/JDBCPool;

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // int size
         0: .line 517
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 518
            aload 0 /* this */
            new org.hsqldb.jdbc.pool.JDBCPooledDataSource
            dup
            invokespecial org.hsqldb.jdbc.pool.JDBCPooledDataSource.<init>:()V
            putfield org.hsqldb.jdbc.JDBCPool.source:Lorg/hsqldb/jdbc/pool/JDBCPooledDataSource;
         2: .line 519
            aload 0 /* this */
            iload 1 /* size */
            anewarray org.hsqldb.jdbc.pool.JDBCPooledConnection
            putfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
         3: .line 520
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicIntegerArray
            dup
            iload 1 /* size */
            invokespecial java.util.concurrent.atomic.AtomicIntegerArray.<init>:(I)V
            putfield org.hsqldb.jdbc.JDBCPool.states:Ljava/util/concurrent/atomic/AtomicIntegerArray;
            return
        end local 1 // int size
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0    4     1  size  I
    MethodParameters:
      Name  Flags
      size  

  public void close(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hsqldb.jdbc.JDBCPool this
        start local 1 // int wait
         0: .line 531
            iload 1 /* wait */
            iflt 1
            iload 1 /* wait */
            bipush 60
            if_icmple 2
         1: .line 532
      StackMap locals:
      StackMap stack:
            invokestatic org.hsqldb.jdbc.JDBCUtil.outOfRangeArgument:()Ljava/sql/SQLException;
            athrow
         2: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.closed:Z
            ifeq 4
         3: .line 535
            return
         4: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.jdbc.JDBCPool.closed:Z
         5: .line 541
            sipush 1000
            iload 1 /* wait */
            imul
            i2l
            invokestatic java.lang.Thread.sleep:(J)V
         6: .line 542
            goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: pop
         8: .line 544
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         9: goto 13
        10: .line 545
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 2 /* i */
            aaload
            ifnull 12
        11: .line 546
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.jdbc.pool.JDBCPooledConnection.release:()V
        12: .line 544
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            if_icmplt 10
        end local 2 // int i
        14: .line 550
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        15: goto 18
        16: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            iload 2 /* i */
            aconst_null
            aastore
        17: .line 550
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.jdbc.JDBCPool.connections:[Lorg/hsqldb/jdbc/pool/JDBCPooledConnection;
            arraylength
            if_icmplt 16
        end local 2 // int i
        19: .line 554
            return
        end local 1 // int wait
        end local 0 // org.hsqldb.jdbc.JDBCPool this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   20     0  this  Lorg/hsqldb/jdbc/JDBCPool;
            0   20     1  wait  I
            9   14     2     i  I
           15   19     2     i  I
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Throwable
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      wait  
}
SourceFile: "JDBCPool.java"
NestMembers:
  org.hsqldb.jdbc.JDBCPool$RefState
InnerClasses:
  abstract RefState = org.hsqldb.jdbc.JDBCPool$RefState of org.hsqldb.jdbc.JDBCPool