public class org.apache.commons.dbcp2.PoolableCallableStatement extends org.apache.commons.dbcp2.DelegatingCallableStatement
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.dbcp2.PoolableCallableStatement
  super_class: org.apache.commons.dbcp2.DelegatingCallableStatement
{
  private final org.apache.commons.pool2.KeyedObjectPool<org.apache.commons.dbcp2.PStmtKey, org.apache.commons.dbcp2.DelegatingPreparedStatement> pool;
    descriptor: Lorg/apache/commons/pool2/KeyedObjectPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/commons/pool2/KeyedObjectPool<Lorg/apache/commons/dbcp2/PStmtKey;Lorg/apache/commons/dbcp2/DelegatingPreparedStatement;>;

  private final org.apache.commons.dbcp2.PStmtKey key;
    descriptor: Lorg/apache/commons/dbcp2/PStmtKey;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(java.sql.CallableStatement, org.apache.commons.dbcp2.PStmtKey, org.apache.commons.pool2.KeyedObjectPool<org.apache.commons.dbcp2.PStmtKey, org.apache.commons.dbcp2.DelegatingPreparedStatement>, org.apache.commons.dbcp2.DelegatingConnection<java.sql.Connection>);
    descriptor: (Ljava/sql/CallableStatement;Lorg/apache/commons/dbcp2/PStmtKey;Lorg/apache/commons/pool2/KeyedObjectPool;Lorg/apache/commons/dbcp2/DelegatingConnection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
        start local 1 // java.sql.CallableStatement callableStatement
        start local 2 // org.apache.commons.dbcp2.PStmtKey key
        start local 3 // org.apache.commons.pool2.KeyedObjectPool pool
        start local 4 // org.apache.commons.dbcp2.DelegatingConnection connection
         0: .line 65
            aload 0 /* this */
            aload 4 /* connection */
            aload 1 /* callableStatement */
            invokespecial org.apache.commons.dbcp2.DelegatingCallableStatement.<init>:(Lorg/apache/commons/dbcp2/DelegatingConnection;Ljava/sql/CallableStatement;)V
         1: .line 66
            aload 0 /* this */
            aload 3 /* pool */
            putfield org.apache.commons.dbcp2.PoolableCallableStatement.pool:Lorg/apache/commons/pool2/KeyedObjectPool;
         2: .line 67
            aload 0 /* this */
            aload 2 /* key */
            putfield org.apache.commons.dbcp2.PoolableCallableStatement.key:Lorg/apache/commons/dbcp2/PStmtKey;
         3: .line 71
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.getConnectionInternal:()Lorg/apache/commons/dbcp2/DelegatingConnection;
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.removeThisTrace:(Ljava/lang/Object;)V
         4: .line 72
            return
        end local 4 // org.apache.commons.dbcp2.DelegatingConnection connection
        end local 3 // org.apache.commons.pool2.KeyedObjectPool pool
        end local 2 // org.apache.commons.dbcp2.PStmtKey key
        end local 1 // java.sql.CallableStatement callableStatement
        end local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lorg/apache/commons/dbcp2/PoolableCallableStatement;
            0    5     1  callableStatement  Ljava/sql/CallableStatement;
            0    5     2                key  Lorg/apache/commons/dbcp2/PStmtKey;
            0    5     3               pool  Lorg/apache/commons/pool2/KeyedObjectPool<Lorg/apache/commons/dbcp2/PStmtKey;Lorg/apache/commons/dbcp2/DelegatingPreparedStatement;>;
            0    5     4         connection  Lorg/apache/commons/dbcp2/DelegatingConnection<Ljava/sql/Connection;>;
    Signature: (Ljava/sql/CallableStatement;Lorg/apache/commons/dbcp2/PStmtKey;Lorg/apache/commons/pool2/KeyedObjectPool<Lorg/apache/commons/dbcp2/PStmtKey;Lorg/apache/commons/dbcp2/DelegatingPreparedStatement;>;Lorg/apache/commons/dbcp2/DelegatingConnection<Ljava/sql/Connection;>;)V
    MethodParameters:
                   Name  Flags
      callableStatement  final
      key                final
      pool               final
      connection         final

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
         0: .line 80
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.isClosed:()Z
            ifne 9
         1: .line 82
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.PoolableCallableStatement.pool:Lorg/apache/commons/pool2/KeyedObjectPool;
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.PoolableCallableStatement.key:Lorg/apache/commons/dbcp2/PStmtKey;
            aload 0 /* this */
            invokeinterface org.apache.commons.pool2.KeyedObjectPool.returnObject:(Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 83
            goto 9
      StackMap locals:
      StackMap stack: java.sql.SQLException
         3: astore 1 /* e */
        start local 1 // java.sql.SQLException e
         4: .line 84
            aload 1 /* e */
            athrow
        end local 1 // java.sql.SQLException e
         5: .line 85
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 1 /* e */
        start local 1 // java.lang.RuntimeException e
         6: .line 86
            aload 1 /* e */
            athrow
        end local 1 // java.lang.RuntimeException e
         7: .line 87
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         8: .line 88
            new java.sql.SQLException
            dup
            ldc "Cannot close CallableStatement (return to pool failed)"
            aload 1 /* e */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Exception e
         9: .line 91
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/apache/commons/dbcp2/PoolableCallableStatement;
            4    5     1     e  Ljava/sql/SQLException;
            6    7     1     e  Ljava/lang/RuntimeException;
            8    9     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.sql.SQLException
           1     2       5  Class java.lang.RuntimeException
           1     2       7  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException

  public void activate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
         0: .line 101
            aload 0 /* this */
            iconst_0
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.setClosedInternal:(Z)V
         1: .line 102
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.getConnectionInternal:()Lorg/apache/commons/dbcp2/DelegatingConnection;
            ifnull 3
         2: .line 103
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.getConnectionInternal:()Lorg/apache/commons/dbcp2/DelegatingConnection;
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.DelegatingConnection.addTrace:(Lorg/apache/commons/dbcp2/AbandonedTrace;)V
         3: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.commons.dbcp2.DelegatingCallableStatement.activate:()V
         4: .line 106
            return
        end local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/dbcp2/PoolableCallableStatement;
    Exceptions:
      throws java.sql.SQLException

  public void passivate();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
         0: .line 116
            aload 0 /* this */
            iconst_1
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.setClosedInternal:(Z)V
         1: .line 117
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.getConnectionInternal:()Lorg/apache/commons/dbcp2/DelegatingConnection;
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.removeThisTrace:(Ljava/lang/Object;)V
         2: .line 123
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.getTrace:()Ljava/util/List;
            astore 1 /* resultSetList */
        start local 1 // java.util.List resultSetList
         3: .line 124
            aload 1 /* resultSetList */
            ifnull 18
         4: .line 125
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* thrown */
        start local 2 // java.util.List thrown
         5: .line 126
            aload 1 /* resultSetList */
            aload 1 /* resultSetList */
            invokeinterface java.util.List.size:()I
            anewarray java.sql.ResultSet
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.sql.ResultSet[]
            astore 3 /* resultSets */
        start local 3 // java.sql.ResultSet[] resultSets
         6: .line 127
            aload 3 /* resultSets */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 14
      StackMap locals: org.apache.commons.dbcp2.PoolableCallableStatement java.util.List java.util.List java.sql.ResultSet[] top int int java.sql.ResultSet[]
      StackMap stack:
         7: aload 7
            iload 5
            aaload
            astore 4 /* resultSet */
        start local 4 // java.sql.ResultSet resultSet
         8: .line 128
            aload 4 /* resultSet */
            ifnull 13
         9: .line 130
            aload 4 /* resultSet */
            invokeinterface java.sql.ResultSet.close:()V
        10: .line 131
            goto 13
      StackMap locals: org.apache.commons.dbcp2.PoolableCallableStatement java.util.List java.util.List java.sql.ResultSet[] java.sql.ResultSet int int java.sql.ResultSet[]
      StackMap stack: java.lang.Exception
        11: astore 8 /* e */
        start local 8 // java.lang.Exception e
        12: .line 132
            aload 2 /* thrown */
            aload 8 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.lang.Exception e
        end local 4 // java.sql.ResultSet resultSet
        13: .line 127
      StackMap locals: org.apache.commons.dbcp2.PoolableCallableStatement java.util.List java.util.List java.sql.ResultSet[] top int int java.sql.ResultSet[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        14: iload 5
            iload 6
            if_icmplt 7
        15: .line 136
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.PoolableCallableStatement.clearTrace:()V
        16: .line 137
            aload 2 /* thrown */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 18
        17: .line 138
            new org.apache.commons.dbcp2.SQLExceptionList
            dup
            aload 2 /* thrown */
            invokespecial org.apache.commons.dbcp2.SQLExceptionList.<init>:(Ljava/util/List;)V
            athrow
        end local 3 // java.sql.ResultSet[] resultSets
        end local 2 // java.util.List thrown
        18: .line 142
      StackMap locals: org.apache.commons.dbcp2.PoolableCallableStatement java.util.List
      StackMap stack:
            aload 0 /* this */
            invokespecial org.apache.commons.dbcp2.DelegatingCallableStatement.passivate:()V
        19: .line 143
            return
        end local 1 // java.util.List resultSetList
        end local 0 // org.apache.commons.dbcp2.PoolableCallableStatement this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/apache/commons/dbcp2/PoolableCallableStatement;
            3   20     1  resultSetList  Ljava/util/List<Lorg/apache/commons/dbcp2/AbandonedTrace;>;
            5   18     2         thrown  Ljava/util/List<Ljava/lang/Exception;>;
            6   18     3     resultSets  [Ljava/sql/ResultSet;
            8   13     4      resultSet  Ljava/sql/ResultSet;
           12   13     8              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    10      11  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
}
SourceFile: "PoolableCallableStatement.java"