public class org.apache.commons.dbcp2.BasicDataSource implements javax.sql.DataSource, org.apache.commons.dbcp2.BasicDataSourceMXBean, javax.management.MBeanRegistration, java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.dbcp2.BasicDataSource
  super_class: java.lang.Object
{
  private static final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile java.lang.Boolean defaultAutoCommit;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private transient java.lang.Boolean defaultReadOnly;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private volatile int defaultTransactionIsolation;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.Integer defaultQueryTimeoutSeconds;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.String defaultCatalog;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.lang.String defaultSchema;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean cacheState;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.sql.Driver driver;
    descriptor: Ljava/sql/Driver;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String driverClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.ClassLoader driverClassLoader;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE

  private boolean lifo;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int maxTotal;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int maxIdle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int minIdle;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int initialSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long maxWaitMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean poolPreparedStatements;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int maxOpenPreparedStatements;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean testOnCreate;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean testOnBorrow;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean testOnReturn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long timeBetweenEvictionRunsMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private int numTestsPerEvictionRun;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private long minEvictableIdleTimeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long softMinEvictableIdleTimeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String evictionPolicyClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean testWhileIdle;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.String password;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.String url;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String userName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.lang.String validationQuery;
    descriptor: Ljava/lang/String;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile int validationQueryTimeoutSeconds;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private java.lang.String connectionFactoryClassName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private volatile java.util.List<java.lang.String> connectionInitSqls;
    descriptor: Ljava/util/List;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private boolean accessToUnderlyingConnectionAllowed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long maxConnLifetimeMillis;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private boolean logExpiredConnections;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String jmxName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean autoCommitOnReturn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean rollbackOnReturn;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile java.util.Set<java.lang.String> disconnectionSqlCodes;
    descriptor: Ljava/util/Set;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private boolean fastFailValidation;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private volatile org.apache.commons.pool2.impl.GenericObjectPool<org.apache.commons.dbcp2.PoolableConnection> connectionPool;
    descriptor: Lorg/apache/commons/pool2/impl/GenericObjectPool;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
    Signature: Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;

  private java.util.Properties connectionProperties;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE

  private volatile javax.sql.DataSource dataSource;
    descriptor: Ljavax/sql/DataSource;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile java.io.PrintWriter logWriter;
    descriptor: Ljava/io/PrintWriter;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.apache.commons.pool2.impl.AbandonedConfig abandonedConfig;
    descriptor: Lorg/apache/commons/pool2/impl/AbandonedConfig;
    flags: (0x0002) ACC_PRIVATE

  private boolean closed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.apache.commons.dbcp2.ObjectNameWrapper registeredJmxObjectName;
    descriptor: Lorg/apache/commons/dbcp2/ObjectNameWrapper;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=0
         0: .line 77
            ldc Lorg/apache/commons/dbcp2/BasicDataSource;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putstatic org.apache.commons.dbcp2.BasicDataSource.log:Lorg/apache/commons/logging/Log;
         1: .line 81
            invokestatic java.sql.DriverManager.getDrivers:()Ljava/util/Enumeration;
            pop
         2: .line 87
            getstatic org.apache.commons.dbcp2.Utils.IS_SECURITY_ENABLED:Z
            ifeq 20
         3: .line 88
            ldc Lorg/apache/commons/dbcp2/BasicDataSource;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 0 /* loader */
        start local 0 // java.lang.ClassLoader loader
         4: .line 89
            ldc Lorg/apache/commons/dbcp2/BasicDataSource;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 1 /* dbcpPackageName */
        start local 1 // java.lang.String dbcpPackageName
         5: .line 90
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".BasicDataSource$PaGetConnection"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         6: .line 91
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".DelegatingCallableStatement"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         7: .line 92
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".DelegatingDatabaseMetaData"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         8: .line 93
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".DelegatingPreparedStatement"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
         9: .line 94
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".DelegatingResultSet"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        10: .line 95
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PoolableCallableStatement"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        11: .line 96
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PoolablePreparedStatement"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        12: .line 97
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PoolingConnection$StatementType"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        13: .line 98
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 1 /* dbcpPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".PStmtKey"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        14: .line 100
            ldc Lorg/apache/commons/pool2/PooledObject;
            invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 2 /* poolPackageName */
        start local 2 // java.lang.String poolPackageName
        15: .line 101
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 2 /* poolPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".impl.LinkedBlockingDeque$Node"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        16: .line 102
            aload 0 /* loader */
            new java.lang.StringBuilder
            dup
            aload 2 /* poolPackageName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".impl.GenericKeyedObjectPool$ObjectDeque"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        end local 2 // java.lang.String poolPackageName
        end local 1 // java.lang.String dbcpPackageName
        end local 0 // java.lang.ClassLoader loader
        17: .line 104
            goto 20
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        18: astore 0 /* cnfe */
        start local 0 // java.lang.ClassNotFoundException cnfe
        19: .line 105
            new java.lang.IllegalStateException
            dup
            ldc "Unable to pre-load classes"
            aload 0 /* cnfe */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.ClassNotFoundException cnfe
        20: .line 107
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            4   17     0           loader  Ljava/lang/ClassLoader;
            5   17     1  dbcpPackageName  Ljava/lang/String;
           15   17     2  poolPackageName  Ljava/lang/String;
           19   20     0             cnfe  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           2    17      18  Class java.lang.ClassNotFoundException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 140
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultTransactionIsolation:I
         2: .line 158
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.cacheState:Z
         3: .line 181
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.lifo:Z
         4: .line 187
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.dbcp2.BasicDataSource.maxTotal:I
         5: .line 197
            aload 0 /* this */
            bipush 8
            putfield org.apache.commons.dbcp2.BasicDataSource.maxIdle:I
         6: .line 205
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.minIdle:I
         7: .line 210
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.initialSize:I
         8: .line 216
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.dbcp2.BasicDataSource.maxWaitMillis:J
         9: .line 222
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.poolPreparedStatements:Z
        10: .line 237
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.dbcp2.BasicDataSource.maxOpenPreparedStatements:I
        11: .line 243
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnCreate:Z
        12: .line 249
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnBorrow:Z
        13: .line 254
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnReturn:Z
        14: .line 260
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.dbcp2.BasicDataSource.timeBetweenEvictionRunsMillis:J
        15: .line 265
            aload 0 /* this */
            iconst_3
            putfield org.apache.commons.dbcp2.BasicDataSource.numTestsPerEvictionRun:I
        16: .line 271
            aload 0 /* this */
            ldc 1800000
            putfield org.apache.commons.dbcp2.BasicDataSource.minEvictableIdleTimeMillis:J
        17: .line 279
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.dbcp2.BasicDataSource.softMinEvictableIdleTimeMillis:J
        18: .line 281
            aload 0 /* this */
            getstatic org.apache.commons.pool2.impl.BaseObjectPoolConfig.DEFAULT_EVICTION_POLICY_CLASS_NAME:Ljava/lang/String;
            putfield org.apache.commons.dbcp2.BasicDataSource.evictionPolicyClassName:Ljava/lang/String;
        19: .line 287
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.testWhileIdle:Z
        20: .line 314
            aload 0 /* this */
            iconst_m1
            putfield org.apache.commons.dbcp2.BasicDataSource.validationQueryTimeoutSeconds:I
        21: .line 333
            aload 0 /* this */
            iconst_0
            putfield org.apache.commons.dbcp2.BasicDataSource.accessToUnderlyingConnectionAllowed:Z
        22: .line 335
            aload 0 /* this */
            ldc -1
            putfield org.apache.commons.dbcp2.BasicDataSource.maxConnLifetimeMillis:J
        23: .line 337
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.logExpiredConnections:Z
        24: .line 341
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.autoCommitOnReturn:Z
        25: .line 343
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.rollbackOnReturn:Z
        26: .line 359
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionProperties:Ljava/util/Properties;
        27: .line 370
            aload 0 /* this */
            new java.io.PrintWriter
            dup
        28: .line 371
            new java.io.OutputStreamWriter
            dup
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
        29: .line 370
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            putfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
        30: .line 64
            return
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   31     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  protected static void validateConnectionFactory(org.apache.commons.dbcp2.PoolableConnectionFactory);
    descriptor: (Lorg/apache/commons/dbcp2/PoolableConnectionFactory;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolableConnectionFactory connectionFactory
         0: .line 112
            aconst_null
            astore 1 /* conn */
        start local 1 // org.apache.commons.dbcp2.PoolableConnection conn
         1: .line 113
            aconst_null
            astore 2 /* p */
        start local 2 // org.apache.commons.pool2.PooledObject p
         2: .line 115
            aload 0 /* connectionFactory */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject:()Lorg/apache/commons/pool2/PooledObject;
            astore 2 /* p */
         3: .line 116
            aload 2 /* p */
            invokeinterface org.apache.commons.pool2.PooledObject.getObject:()Ljava/lang/Object;
            checkcast org.apache.commons.dbcp2.PoolableConnection
            astore 1 /* conn */
         4: .line 117
            aload 0 /* connectionFactory */
            aload 2 /* p */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.activateObject:(Lorg/apache/commons/pool2/PooledObject;)V
         5: .line 118
            aload 0 /* connectionFactory */
            aload 1 /* conn */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.validateConnection:(Lorg/apache/commons/dbcp2/PoolableConnection;)V
         6: .line 119
            aload 0 /* connectionFactory */
            aload 2 /* p */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.passivateObject:(Lorg/apache/commons/pool2/PooledObject;)V
         7: .line 120
            goto 12
      StackMap locals: org.apache.commons.dbcp2.PoolableConnectionFactory org.apache.commons.dbcp2.PoolableConnection org.apache.commons.pool2.PooledObject
      StackMap stack: java.lang.Throwable
         8: astore 3
         9: .line 121
            aload 2 /* p */
            ifnull 11
        10: .line 122
            aload 0 /* connectionFactory */
            aload 2 /* p */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.destroyObject:(Lorg/apache/commons/pool2/PooledObject;)V
        11: .line 124
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 3
            athrow
        12: .line 121
      StackMap locals:
      StackMap stack:
            aload 2 /* p */
            ifnull 14
        13: .line 122
            aload 0 /* connectionFactory */
            aload 2 /* p */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.destroyObject:(Lorg/apache/commons/pool2/PooledObject;)V
        14: .line 125
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.PooledObject p
        end local 1 // org.apache.commons.dbcp2.PoolableConnection conn
        end local 0 // org.apache.commons.dbcp2.PoolableConnectionFactory connectionFactory
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0  connectionFactory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
            1   15     1               conn  Lorg/apache/commons/dbcp2/PoolableConnection;
            2   15     2                  p  Lorg/apache/commons/pool2/PooledObject<Lorg/apache/commons/dbcp2/PoolableConnection;>;
      Exception table:
        from    to  target  type
           2     8       8  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                   Name  Flags
      connectionFactory  final

  public void addConnectionProperty(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 391
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionProperties:Ljava/util/Properties;
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual java.util.Properties.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 392
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   final
      value  final

  public synchronized void close();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 417
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            ifnull 3
         1: .line 418
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            invokevirtual org.apache.commons.dbcp2.ObjectNameWrapper.unregisterMBean:()V
         2: .line 419
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
         3: .line 421
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.apache.commons.dbcp2.BasicDataSource.closed:Z
         4: .line 422
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 1 /* oldPool */
        start local 1 // org.apache.commons.pool2.impl.GenericObjectPool oldPool
         5: .line 423
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
         6: .line 424
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
         7: .line 426
            aload 1 /* oldPool */
            ifnull 14
         8: .line 427
            aload 1 /* oldPool */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.close:()V
         9: .line 429
            goto 14
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack: java.lang.RuntimeException
        10: astore 2 /* e */
        start local 2 // java.lang.RuntimeException e
        11: .line 430
            aload 2 /* e */
            athrow
        end local 2 // java.lang.RuntimeException e
        12: .line 431
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        13: .line 432
            new java.sql.SQLException
            dup
            ldc "pool.close.fail"
            invokestatic org.apache.commons.dbcp2.Utils.getMessage:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* e */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        14: .line 434
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.pool2.impl.GenericObjectPool oldPool
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            5   15     1  oldPool  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
           11   12     2        e  Ljava/lang/RuntimeException;
           13   14     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7     9      10  Class java.lang.RuntimeException
           7     9      12  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException

  private void closeConnectionPool();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 440
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 1 /* oldPool */
        start local 1 // org.apache.commons.pool2.impl.GenericObjectPool oldPool
         1: .line 441
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
         2: .line 443
            aload 1 /* oldPool */
            ifnull 6
         3: .line 444
            aload 1 /* oldPool */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.close:()V
         4: .line 446
            goto 6
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack: java.lang.Exception
         5: pop
         6: .line 449
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.apache.commons.pool2.impl.GenericObjectPool oldPool
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    7     1  oldPool  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  protected org.apache.commons.dbcp2.ConnectionFactory createConnectionFactory();
    descriptor: ()Lorg/apache/commons/dbcp2/ConnectionFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 472
            aload 0 /* this */
            aload 0 /* this */
            invokestatic org.apache.commons.dbcp2.DriverFactory.createDriver:(Lorg/apache/commons/dbcp2/BasicDataSource;)Ljava/sql/Driver;
            invokestatic org.apache.commons.dbcp2.ConnectionFactoryFactory.createConnectionFactory:(Lorg/apache/commons/dbcp2/BasicDataSource;Ljava/sql/Driver;)Lorg/apache/commons/dbcp2/ConnectionFactory;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.sql.SQLException

  protected void createConnectionPool(org.apache.commons.dbcp2.PoolableConnectionFactory);
    descriptor: (Lorg/apache/commons/dbcp2/PoolableConnectionFactory;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // org.apache.commons.dbcp2.PoolableConnectionFactory factory
         0: .line 488
            new org.apache.commons.pool2.impl.GenericObjectPoolConfig
            dup
            invokespecial org.apache.commons.pool2.impl.GenericObjectPoolConfig.<init>:()V
            astore 2 /* config */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPoolConfig config
         1: .line 489
            aload 0 /* this */
            aload 2 /* config */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.updateJmxName:(Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;)V
         2: .line 491
            aload 2 /* config */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            ifnull 3
            iconst_1
            goto 4
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.PoolableConnectionFactory org.apache.commons.pool2.impl.GenericObjectPoolConfig
      StackMap stack: org.apache.commons.pool2.impl.GenericObjectPoolConfig
         3: iconst_0
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.PoolableConnectionFactory org.apache.commons.pool2.impl.GenericObjectPoolConfig
      StackMap stack: org.apache.commons.pool2.impl.GenericObjectPoolConfig int
         4: invokevirtual org.apache.commons.pool2.impl.GenericObjectPoolConfig.setJmxEnabled:(Z)V
         5: .line 492
            aload 0 /* this */
            aload 1 /* factory */
            aload 2 /* config */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createObjectPool:(Lorg/apache/commons/dbcp2/PoolableConnectionFactory;Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;Lorg/apache/commons/pool2/impl/AbandonedConfig;)Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 3 /* gop */
        start local 3 // org.apache.commons.pool2.impl.GenericObjectPool gop
         6: .line 493
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxTotal:I
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxTotal:(I)V
         7: .line 494
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxIdle:I
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxIdle:(I)V
         8: .line 495
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.minIdle:I
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMinIdle:(I)V
         9: .line 496
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxWaitMillis:J
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxWaitMillis:(J)V
        10: .line 497
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnCreate:Z
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnCreate:(Z)V
        11: .line 498
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnBorrow:Z
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnBorrow:(Z)V
        12: .line 499
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnReturn:Z
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnReturn:(Z)V
        13: .line 500
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.numTestsPerEvictionRun:I
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setNumTestsPerEvictionRun:(I)V
        14: .line 501
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.minEvictableIdleTimeMillis:J
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMinEvictableIdleTimeMillis:(J)V
        15: .line 502
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.softMinEvictableIdleTimeMillis:J
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setSoftMinEvictableIdleTimeMillis:(J)V
        16: .line 503
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testWhileIdle:Z
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestWhileIdle:(Z)V
        17: .line 504
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.lifo:Z
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setLifo:(Z)V
        18: .line 505
            aload 3 /* gop */
            new org.apache.commons.dbcp2.SwallowedExceptionLogger
            dup
            getstatic org.apache.commons.dbcp2.BasicDataSource.log:Lorg/apache/commons/logging/Log;
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logExpiredConnections:Z
            invokespecial org.apache.commons.dbcp2.SwallowedExceptionLogger.<init>:(Lorg/apache/commons/logging/Log;Z)V
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setSwallowedExceptionListener:(Lorg/apache/commons/pool2/SwallowedExceptionListener;)V
        19: .line 506
            aload 3 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.evictionPolicyClassName:Ljava/lang/String;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setEvictionPolicyClassName:(Ljava/lang/String;)V
        20: .line 507
            aload 1 /* factory */
            aload 3 /* gop */
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setPool:(Lorg/apache/commons/pool2/ObjectPool;)V
        21: .line 508
            aload 0 /* this */
            aload 3 /* gop */
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
        22: .line 509
            return
        end local 3 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPoolConfig config
        end local 1 // org.apache.commons.dbcp2.PoolableConnectionFactory factory
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   23     1  factory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
            1   23     2   config  Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig<Lorg/apache/commons/dbcp2/PoolableConnection;>;
            6   23     3      gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;
    MethodParameters:
         Name  Flags
      factory  final

  protected javax.sql.DataSource createDataSource();
    descriptor: ()Ljavax/sql/DataSource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 520
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.closed:Z
            ifeq 2
         1: .line 521
            new java.sql.SQLException
            dup
            ldc "Data source is closed"
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 527
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
            ifnull 4
         3: .line 528
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
            areturn
         4: .line 530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         5: .line 531
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
            ifnull 8
         6: .line 532
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
            aload 1
            monitorexit
         7: areturn
         8: .line 535
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.jmxRegister:()V
         9: .line 538
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createConnectionFactory:()Lorg/apache/commons/dbcp2/ConnectionFactory;
            astore 2 /* driverConnectionFactory */
        start local 2 // org.apache.commons.dbcp2.ConnectionFactory driverConnectionFactory
        10: .line 541
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
        11: .line 544
            aload 0 /* this */
            aload 2 /* driverConnectionFactory */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory:(Lorg/apache/commons/dbcp2/ConnectionFactory;)Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
            astore 4 /* poolableConnectionFactory */
        start local 4 // org.apache.commons.dbcp2.PoolableConnectionFactory poolableConnectionFactory
        12: .line 545
            aload 4 /* poolableConnectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.poolPreparedStatements:Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setPoolStatements:(Z)V
        13: .line 546
            aload 4 /* poolableConnectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxOpenPreparedStatements:I
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setMaxOpenPreparedStatements:(I)V
        14: .line 547
            iconst_1
            istore 3 /* success */
        15: .line 548
            goto 22
        end local 4 // org.apache.commons.dbcp2.PoolableConnectionFactory poolableConnectionFactory
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.ConnectionFactory int
      StackMap stack: java.sql.SQLException
        16: astore 5 /* se */
        start local 5 // java.sql.SQLException se
        17: .line 549
            aload 5 /* se */
            athrow
        end local 5 // java.sql.SQLException se
        18: .line 550
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 5 /* rte */
        start local 5 // java.lang.RuntimeException rte
        19: .line 551
            aload 5 /* rte */
            athrow
        end local 5 // java.lang.RuntimeException rte
        20: .line 552
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        21: .line 553
            new java.sql.SQLException
            dup
            ldc "Error creating connection factory"
            aload 5 /* ex */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception ex
        start local 4 // org.apache.commons.dbcp2.PoolableConnectionFactory poolableConnectionFactory
        22: .line 556
      StackMap locals: org.apache.commons.dbcp2.PoolableConnectionFactory
      StackMap stack:
            iload 3 /* success */
            ifeq 24
        23: .line 558
            aload 0 /* this */
            aload 4 /* poolableConnectionFactory */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createConnectionPool:(Lorg/apache/commons/dbcp2/PoolableConnectionFactory;)V
        24: .line 563
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* success */
        25: .line 565
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createDataSourceInstance:()Ljavax/sql/DataSource;
            astore 5 /* newDataSource */
        start local 5 // javax.sql.DataSource newDataSource
        26: .line 566
            aload 5 /* newDataSource */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            invokeinterface javax.sql.DataSource.setLogWriter:(Ljava/io/PrintWriter;)V
        27: .line 567
            iconst_1
            istore 3 /* success */
        28: .line 568
            goto 39
        end local 5 // javax.sql.DataSource newDataSource
      StackMap locals:
      StackMap stack: java.sql.SQLException
        29: astore 6 /* se */
        start local 6 // java.sql.SQLException se
        30: .line 569
            aload 6 /* se */
            athrow
        end local 6 // java.sql.SQLException se
        31: .line 570
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 6 /* rte */
        start local 6 // java.lang.RuntimeException rte
        32: .line 571
            aload 6 /* rte */
            athrow
        end local 6 // java.lang.RuntimeException rte
        33: .line 572
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* ex */
        start local 6 // java.lang.Exception ex
        34: .line 573
            new java.sql.SQLException
            dup
            ldc "Error creating datasource"
            aload 6 /* ex */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception ex
        35: .line 574
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        36: .line 575
            iload 3 /* success */
            ifne 38
        37: .line 576
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.closeConnectionPool:()V
        38: .line 578
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.ConnectionFactory int org.apache.commons.dbcp2.PoolableConnectionFactory top top java.lang.Throwable
      StackMap stack:
            aload 7
            athrow
        start local 5 // javax.sql.DataSource newDataSource
        39: .line 575
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.ConnectionFactory int org.apache.commons.dbcp2.PoolableConnectionFactory javax.sql.DataSource
      StackMap stack:
            iload 3 /* success */
            ifne 41
        40: .line 576
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.closeConnectionPool:()V
        41: .line 582
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        42: goto 45
        43: .line 583
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.addObject:()V
        44: .line 582
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        45: iload 6 /* i */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.initialSize:I
            if_icmplt 43
        end local 6 // int i
        46: .line 585
            goto 50
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.ConnectionFactory int org.apache.commons.dbcp2.PoolableConnectionFactory javax.sql.DataSource
      StackMap stack: java.lang.Exception
        47: astore 6 /* e */
        start local 6 // java.lang.Exception e
        48: .line 586
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.closeConnectionPool:()V
        49: .line 587
            new java.sql.SQLException
            dup
            ldc "Error preloading the connection pool"
            aload 6 /* e */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        50: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.startPoolMaintenance:()V
        51: .line 594
            aload 0 /* this */
            aload 5 /* newDataSource */
            putfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
        52: .line 595
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.dataSource:Ljavax/sql/DataSource;
            aload 1
            monitorexit
        53: areturn
        end local 5 // javax.sql.DataSource newDataSource
        end local 4 // org.apache.commons.dbcp2.PoolableConnectionFactory poolableConnectionFactory
        end local 3 // boolean success
        end local 2 // org.apache.commons.dbcp2.ConnectionFactory driverConnectionFactory
        54: .line 530
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.BasicDataSource
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        55: athrow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   56     0                       this  Lorg/apache/commons/dbcp2/BasicDataSource;
           10   54     2    driverConnectionFactory  Lorg/apache/commons/dbcp2/ConnectionFactory;
           11   54     3                    success  Z
           12   16     4  poolableConnectionFactory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
           22   54     4  poolableConnectionFactory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
           17   18     5                         se  Ljava/sql/SQLException;
           19   20     5                        rte  Ljava/lang/RuntimeException;
           21   22     5                         ex  Ljava/lang/Exception;
           26   29     5              newDataSource  Ljavax/sql/DataSource;
           39   54     5              newDataSource  Ljavax/sql/DataSource;
           30   31     6                         se  Ljava/sql/SQLException;
           32   33     6                        rte  Ljava/lang/RuntimeException;
           34   35     6                         ex  Ljava/lang/Exception;
           42   46     6                          i  I
           48   50     6                          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          11    15      16  Class java.sql.SQLException
          11    15      18  Class java.lang.RuntimeException
          11    15      20  Class java.lang.Exception
          25    28      29  Class java.sql.SQLException
          25    28      31  Class java.lang.RuntimeException
          25    28      33  Class java.lang.Exception
          25    35      35  any
          41    46      47  Class java.lang.Exception
           5     7      54  any
           8    53      54  any
          54    55      54  any
    Exceptions:
      throws java.sql.SQLException

  protected javax.sql.DataSource createDataSourceInstance();
    descriptor: ()Ljavax/sql/DataSource;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 608
            new org.apache.commons.dbcp2.PoolingDataSource
            dup
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            invokespecial org.apache.commons.dbcp2.PoolingDataSource.<init>:(Lorg/apache/commons/pool2/ObjectPool;)V
            astore 1 /* pds */
        start local 1 // org.apache.commons.dbcp2.PoolingDataSource pds
         1: .line 609
            aload 1 /* pds */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isAccessToUnderlyingConnectionAllowed:()Z
            invokevirtual org.apache.commons.dbcp2.PoolingDataSource.setAccessToUnderlyingConnectionAllowed:(Z)V
         2: .line 610
            aload 1 /* pds */
            areturn
        end local 1 // org.apache.commons.dbcp2.PoolingDataSource pds
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    3     1   pds  Lorg/apache/commons/dbcp2/PoolingDataSource<Lorg/apache/commons/dbcp2/PoolableConnection;>;
    Exceptions:
      throws java.sql.SQLException

  protected org.apache.commons.pool2.impl.GenericObjectPool<org.apache.commons.dbcp2.PoolableConnection> createObjectPool(org.apache.commons.dbcp2.PoolableConnectionFactory, org.apache.commons.pool2.impl.GenericObjectPoolConfig<org.apache.commons.dbcp2.PoolableConnection>, org.apache.commons.pool2.impl.AbandonedConfig);
    descriptor: (Lorg/apache/commons/dbcp2/PoolableConnectionFactory;Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;Lorg/apache/commons/pool2/impl/AbandonedConfig;)Lorg/apache/commons/pool2/impl/GenericObjectPool;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // org.apache.commons.dbcp2.PoolableConnectionFactory factory
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPoolConfig poolConfig
        start local 3 // org.apache.commons.pool2.impl.AbandonedConfig abandonedConfig
         0: .line 624
            aload 3 /* abandonedConfig */
            ifnull 4
            aload 3 /* abandonedConfig */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getRemoveAbandonedOnBorrow:()Z
            ifne 2
         1: .line 625
            aload 3 /* abandonedConfig */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getRemoveAbandonedOnMaintenance:()Z
            ifeq 4
         2: .line 626
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool2.impl.GenericObjectPool
            dup
            aload 1 /* factory */
            aload 2 /* poolConfig */
            aload 3 /* abandonedConfig */
            invokespecial org.apache.commons.pool2.impl.GenericObjectPool.<init>:(Lorg/apache/commons/pool2/PooledObjectFactory;Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
            astore 4 /* gop */
        start local 4 // org.apache.commons.pool2.impl.GenericObjectPool gop
         3: .line 627
            goto 5
        end local 4 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 628
      StackMap locals:
      StackMap stack:
            new org.apache.commons.pool2.impl.GenericObjectPool
            dup
            aload 1 /* factory */
            aload 2 /* poolConfig */
            invokespecial org.apache.commons.pool2.impl.GenericObjectPool.<init>:(Lorg/apache/commons/pool2/PooledObjectFactory;Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;)V
            astore 4 /* gop */
        start local 4 // org.apache.commons.pool2.impl.GenericObjectPool gop
         5: .line 630
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            aload 4 /* gop */
            areturn
        end local 4 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 3 // org.apache.commons.pool2.impl.AbandonedConfig abandonedConfig
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPoolConfig poolConfig
        end local 1 // org.apache.commons.dbcp2.PoolableConnectionFactory factory
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    6     1          factory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
            0    6     2       poolConfig  Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig<Lorg/apache/commons/dbcp2/PoolableConnection;>;
            0    6     3  abandonedConfig  Lorg/apache/commons/pool2/impl/AbandonedConfig;
            3    4     4              gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;
            5    6     4              gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;
    Signature: (Lorg/apache/commons/dbcp2/PoolableConnectionFactory;Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig<Lorg/apache/commons/dbcp2/PoolableConnection;>;Lorg/apache/commons/pool2/impl/AbandonedConfig;)Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;
    MethodParameters:
                 Name  Flags
      factory          final
      poolConfig       final
      abandonedConfig  final

  protected org.apache.commons.dbcp2.PoolableConnectionFactory createPoolableConnectionFactory(org.apache.commons.dbcp2.ConnectionFactory);
    descriptor: (Lorg/apache/commons/dbcp2/ConnectionFactory;)Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // org.apache.commons.dbcp2.ConnectionFactory driverConnectionFactory
         0: .line 644
            aconst_null
            astore 2 /* connectionFactory */
        start local 2 // org.apache.commons.dbcp2.PoolableConnectionFactory connectionFactory
         1: .line 646
            new org.apache.commons.dbcp2.PoolableConnectionFactory
            dup
            aload 1 /* driverConnectionFactory */
         2: .line 647
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.unwrap:(Lorg/apache/commons/dbcp2/ObjectNameWrapper;)Ljavax/management/ObjectName;
         3: .line 646
            invokespecial org.apache.commons.dbcp2.PoolableConnectionFactory.<init>:(Lorg/apache/commons/dbcp2/ConnectionFactory;Ljavax/management/ObjectName;)V
            astore 2 /* connectionFactory */
         4: .line 648
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.validationQuery:Ljava/lang/String;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setValidationQuery:(Ljava/lang/String;)V
         5: .line 649
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.validationQueryTimeoutSeconds:I
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setValidationQueryTimeout:(I)V
         6: .line 650
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionInitSqls:Ljava/util/List;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setConnectionInitSql:(Ljava/util/Collection;)V
         7: .line 651
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultReadOnly:Ljava/lang/Boolean;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultReadOnly:(Ljava/lang/Boolean;)V
         8: .line 652
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultAutoCommit:Ljava/lang/Boolean;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultAutoCommit:(Ljava/lang/Boolean;)V
         9: .line 653
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultTransactionIsolation:I
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultTransactionIsolation:(I)V
        10: .line 654
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultCatalog:Ljava/lang/String;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultCatalog:(Ljava/lang/String;)V
        11: .line 655
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultSchema:Ljava/lang/String;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultSchema:(Ljava/lang/String;)V
        12: .line 656
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.cacheState:Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setCacheState:(Z)V
        13: .line 657
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.poolPreparedStatements:Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setPoolStatements:(Z)V
        14: .line 658
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxOpenPreparedStatements:I
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setMaxOpenPreparedStatements:(I)V
        15: .line 659
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxConnLifetimeMillis:J
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setMaxConnLifetimeMillis:(J)V
        16: .line 660
            aload 2 /* connectionFactory */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getRollbackOnReturn:()Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setRollbackOnReturn:(Z)V
        17: .line 661
            aload 2 /* connectionFactory */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getAutoCommitOnReturn:()Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setAutoCommitOnReturn:(Z)V
        18: .line 662
            aload 2 /* connectionFactory */
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getDefaultQueryTimeout:()Ljava/lang/Integer;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDefaultQueryTimeout:(Ljava/lang/Integer;)V
        19: .line 663
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.fastFailValidation:Z
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setFastFailValidation:(Z)V
        20: .line 664
            aload 2 /* connectionFactory */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.disconnectionSqlCodes:Ljava/util/Set;
            invokevirtual org.apache.commons.dbcp2.PoolableConnectionFactory.setDisconnectionSqlCodes:(Ljava/util/Collection;)V
        21: .line 665
            aload 2 /* connectionFactory */
            invokestatic org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory:(Lorg/apache/commons/dbcp2/PoolableConnectionFactory;)V
        22: .line 666
            goto 27
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource org.apache.commons.dbcp2.ConnectionFactory org.apache.commons.dbcp2.PoolableConnectionFactory
      StackMap stack: java.lang.RuntimeException
        23: astore 3 /* e */
        start local 3 // java.lang.RuntimeException e
        24: .line 667
            aload 3 /* e */
            athrow
        end local 3 // java.lang.RuntimeException e
        25: .line 668
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        26: .line 669
            new java.sql.SQLException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot create PoolableConnectionFactory ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        27: .line 671
      StackMap locals:
      StackMap stack:
            aload 2 /* connectionFactory */
            areturn
        end local 2 // org.apache.commons.dbcp2.PoolableConnectionFactory connectionFactory
        end local 1 // org.apache.commons.dbcp2.ConnectionFactory driverConnectionFactory
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   28     0                     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   28     1  driverConnectionFactory  Lorg/apache/commons/dbcp2/ConnectionFactory;
            1   28     2        connectionFactory  Lorg/apache/commons/dbcp2/PoolableConnectionFactory;
           24   25     3                        e  Ljava/lang/RuntimeException;
           26   27     3                        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    22      23  Class java.lang.RuntimeException
           1    22      25  Class java.lang.Exception
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
                         Name  Flags
      driverConnectionFactory  final

  public void evict();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 680
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 2
         1: .line 681
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.evict:()V
         2: .line 683
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.lang.Exception

  public java.io.PrintWriter getAbandonedLogWriter();
    descriptor: ()Ljava/io/PrintWriter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 691
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 692
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getLogWriter:()Ljava/io/PrintWriter;
            areturn
         2: .line 694
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getAbandonedUsageTracking();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 706
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 707
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getUseUsageTracking:()Z
            ireturn
         2: .line 709
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getAutoCommitOnReturn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 720
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.autoCommitOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getCacheState();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 730
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.cacheState:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.sql.Connection getConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 741
            getstatic org.apache.commons.dbcp2.Utils.IS_SECURITY_ENABLED:Z
            ifeq 9
         1: .line 742
            new org.apache.commons.dbcp2.BasicDataSource$PaGetConnection
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.dbcp2.BasicDataSource$PaGetConnection.<init>:(Lorg/apache/commons/dbcp2/BasicDataSource;)V
            astore 1 /* action */
        start local 1 // java.security.PrivilegedExceptionAction action
         2: .line 744
            aload 1 /* action */
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.sql.Connection
         3: areturn
         4: .line 745
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.security.PrivilegedExceptionAction
      StackMap stack: java.security.PrivilegedActionException
            astore 2 /* e */
        start local 2 // java.security.PrivilegedActionException e
         5: .line 746
            aload 2 /* e */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            astore 3 /* cause */
        start local 3 // java.lang.Throwable cause
         6: .line 747
            aload 3 /* cause */
            instanceof java.sql.SQLException
            ifeq 8
         7: .line 748
            aload 3 /* cause */
            checkcast java.sql.SQLException
            athrow
         8: .line 750
      StackMap locals: java.security.PrivilegedActionException java.lang.Throwable
      StackMap stack:
            new java.sql.SQLException
            dup
            aload 2 /* e */
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable cause
        end local 2 // java.security.PrivilegedActionException e
        end local 1 // java.security.PrivilegedExceptionAction action
         9: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createDataSource:()Ljavax/sql/DataSource;
            invokeinterface javax.sql.DataSource.getConnection:()Ljava/sql/Connection;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            2    9     1  action  Ljava/security/PrivilegedExceptionAction<Ljava/sql/Connection;>;
            5    9     2       e  Ljava/security/PrivilegedActionException;
            6    9     3   cause  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.PrivilegedActionException
    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=3, locals=3, args_size=3
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String user
        start local 2 // java.lang.String pass
         0: .line 770
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported by BasicDataSource"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String pass
        end local 1 // java.lang.String user
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    1     1  user  Ljava/lang/String;
            0    1     2  pass  Ljava/lang/String;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
      Name  Flags
      user  final
      pass  final

  public java.lang.String getConnectionFactoryClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 783
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionFactoryClassName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.util.List<java.lang.String> getConnectionInitSqls();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 793
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionInitSqls:Ljava/util/List;
            astore 1 /* result */
        start local 1 // java.util.List result
         1: .line 794
            aload 1 /* result */
            ifnonnull 3
         2: .line 795
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            areturn
         3: .line 797
      StackMap locals: java.util.List
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.List result
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    4     1  result  Ljava/util/List<Ljava/lang/String;>;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public java.lang.String[] getConnectionInitSqlsAsArray();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 805
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getConnectionInitSqls:()Ljava/util/List;
            astore 1 /* result */
        start local 1 // java.util.Collection result
         1: .line 806
            aload 1 /* result */
            aload 1 /* result */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.Collection result
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    2     1  result  Ljava/util/Collection<Ljava/lang/String;>;

  protected org.apache.commons.pool2.impl.GenericObjectPool<org.apache.commons.dbcp2.PoolableConnection> getConnectionPool();
    descriptor: ()Lorg/apache/commons/pool2/impl/GenericObjectPool;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 810
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Signature: ()Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;

  java.util.Properties getConnectionProperties();
    descriptor: ()Ljava/util/Properties;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 814
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionProperties:Ljava/util/Properties;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.Boolean getDefaultAutoCommit();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 824
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultAutoCommit:Ljava/lang/Boolean;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.String getDefaultCatalog();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 834
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultCatalog:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.Integer getDefaultQueryTimeout();
    descriptor: ()Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 844
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultQueryTimeoutSeconds:Ljava/lang/Integer;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.Boolean getDefaultReadOnly();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 854
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultReadOnly:Ljava/lang/Boolean;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.String getDefaultSchema();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 865
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultSchema:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public int getDefaultTransactionIsolation();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 876
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.defaultTransactionIsolation:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.util.Set<java.lang.String> getDisconnectionSqlCodes();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 887
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.disconnectionSqlCodes:Ljava/util/Set;
            astore 1 /* result */
        start local 1 // java.util.Set result
         1: .line 888
            aload 1 /* result */
            ifnonnull 3
         2: .line 889
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            areturn
         3: .line 891
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* result */
            areturn
        end local 1 // java.util.Set result
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    4     1  result  Ljava/util/Set<Ljava/lang/String;>;
    Signature: ()Ljava/util/Set<Ljava/lang/String;>;

  public java.lang.String[] getDisconnectionSqlCodesAsArray();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 901
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getDisconnectionSqlCodes:()Ljava/util/Set;
            astore 1 /* result */
        start local 1 // java.util.Collection result
         1: .line 902
            aload 1 /* result */
            aload 1 /* result */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.Collection result
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    2     1  result  Ljava/util/Collection<Ljava/lang/String;>;

  public synchronized java.sql.Driver getDriver();
    descriptor: ()Ljava/sql/Driver;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 915
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.driver:Ljava/sql/Driver;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized java.lang.ClassLoader getDriverClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 929
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.driverClassLoader:Ljava/lang/ClassLoader;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized java.lang.String getDriverClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 943
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.driverClassName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getEnableAutoCommitOnReturn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 956
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.autoCommitOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public synchronized java.lang.String getEvictionPolicyClassName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 965
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.evictionPolicyClassName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getFastFailValidation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 978
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.fastFailValidation:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized int getInitialSize();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 988
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.initialSize:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.String getJmxName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 998
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.jmxName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean getLifo();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1008
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.lifo:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getLogAbandoned();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1025
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 1026
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getLogAbandoned:()Z
            ireturn
         2: .line 1028
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getLogExpiredConnections();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1039
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logExpiredConnections:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public int getLoginTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1061
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported by BasicDataSource"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.sql.SQLException

  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.apache.commons.dbcp2.BasicDataSource this
         0: .line 1077
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createDataSource:()Ljavax/sql/DataSource;
            invokeinterface javax.sql.DataSource.getLogWriter:()Ljava/io/PrintWriter;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.sql.SQLException

  public long getMaxConnLifetimeMillis();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1086
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxConnLifetimeMillis:J
            lreturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized int getMaxIdle();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1102
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxIdle:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized int getMaxOpenPreparedStatements();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1112
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxOpenPreparedStatements:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized int getMaxTotal();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1127
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxTotal:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized long getMaxWaitMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1138
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.maxWaitMillis:J
            lreturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized long getMinEvictableIdleTimeMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1149
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.minEvictableIdleTimeMillis:J
            lreturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized int getMinIdle();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1162
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.minIdle:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public int getNumActive();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1173
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 1 /* pool */
        start local 1 // org.apache.commons.pool2.impl.GenericObjectPool pool
         1: .line 1174
            aload 1 /* pool */
            ifnull 3
         2: .line 1175
            aload 1 /* pool */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.getNumActive:()I
            ireturn
         3: .line 1177
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.commons.pool2.impl.GenericObjectPool pool
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    4     1  pool  Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;

  public int getNumIdle();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1188
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 1 /* pool */
        start local 1 // org.apache.commons.pool2.impl.GenericObjectPool pool
         1: .line 1189
            aload 1 /* pool */
            ifnull 3
         2: .line 1190
            aload 1 /* pool */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.getNumIdle:()I
            ireturn
         3: .line 1192
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.apache.commons.pool2.impl.GenericObjectPool pool
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            1    4     1  pool  Lorg/apache/commons/pool2/impl/GenericObjectPool<Lorg/apache/commons/dbcp2/PoolableConnection;>;

  public synchronized int getNumTestsPerEvictionRun();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1203
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.numTestsPerEvictionRun:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.util.logging.Logger getParentLogger();
    descriptor: ()Ljava/util/logging/Logger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1208
            new java.sql.SQLFeatureNotSupportedException
            dup
            invokespecial java.sql.SQLFeatureNotSupportedException.<init>:()V
            athrow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.sql.SQLFeatureNotSupportedException

  public java.lang.String getPassword();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1218
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.password:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  protected javax.management.ObjectName getRegisteredJmxName();
    descriptor: ()Ljavax/management/ObjectName;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1222
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.unwrap:(Lorg/apache/commons/dbcp2/ObjectNameWrapper;)Ljavax/management/ObjectName;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getRemoveAbandonedOnBorrow();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1250
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 1251
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getRemoveAbandonedOnBorrow:()Z
            ireturn
         2: .line 1253
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getRemoveAbandonedOnMaintenance();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1274
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 1275
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getRemoveAbandonedOnMaintenance:()Z
            ireturn
         2: .line 1277
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public int getRemoveAbandonedTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1302
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnull 2
         1: .line 1303
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.getRemoveAbandonedTimeout:()I
            ireturn
         2: .line 1305
      StackMap locals:
      StackMap stack:
            sipush 300
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean getRollbackOnReturn();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1315
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.rollbackOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized long getSoftMinEvictableIdleTimeMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1337
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.softMinEvictableIdleTimeMillis:J
            lreturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean getTestOnBorrow();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1349
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnBorrow:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean getTestOnCreate();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1360
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnCreate:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean getTestOnReturn();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1370
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testOnReturn:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean getTestWhileIdle();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1381
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.testWhileIdle:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized long getTimeBetweenEvictionRunsMillis();
    descriptor: ()J
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1392
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.timeBetweenEvictionRunsMillis:J
            lreturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized java.lang.String getUrl();
    descriptor: ()Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1402
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.url:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.String getUsername();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1412
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.userName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public java.lang.String getValidationQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1423
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.validationQuery:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public int getValidationQueryTimeout();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1433
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.validationQueryTimeoutSeconds:I
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public void invalidateConnection(java.sql.Connection);
    descriptor: (Ljava/sql/Connection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.sql.Connection connection
         0: .line 1447
            aload 1 /* connection */
            ifnonnull 2
         1: .line 1448
            return
         2: .line 1450
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnonnull 4
         3: .line 1451
            new java.lang.IllegalStateException
            dup
            ldc "Cannot invalidate connection: ConnectionPool is null."
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1456
      StackMap locals:
      StackMap stack:
            aload 1 /* connection */
            ldc Lorg/apache/commons/dbcp2/PoolableConnection;
            invokeinterface java.sql.Connection.unwrap:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.apache.commons.dbcp2.PoolableConnection
            astore 2 /* poolableConnection */
        start local 2 // org.apache.commons.dbcp2.PoolableConnection poolableConnection
         5: .line 1457
            aload 2 /* poolableConnection */
            ifnonnull 11
         6: .line 1458
            new java.lang.IllegalStateException
            dup
         7: .line 1459
            ldc "Cannot invalidate connection: Connection is not a poolable connection."
         8: .line 1458
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.apache.commons.dbcp2.PoolableConnection poolableConnection
         9: .line 1461
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
        10: .line 1462
            new java.lang.IllegalStateException
            dup
            ldc "Cannot invalidate connection: Unwrapping poolable connection failed."
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.sql.SQLException e
        start local 2 // org.apache.commons.dbcp2.PoolableConnection poolableConnection
        11: .line 1466
      StackMap locals: org.apache.commons.dbcp2.PoolableConnection
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            aload 2 /* poolableConnection */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.invalidateObject:(Ljava/lang/Object;)V
        12: .line 1467
            goto 15
      StackMap locals:
      StackMap stack: java.lang.Exception
        13: astore 3 /* e */
        start local 3 // java.lang.Exception e
        14: .line 1468
            new java.lang.IllegalStateException
            dup
            ldc "Invalidating connection threw unexpected exception"
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        15: .line 1470
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.apache.commons.dbcp2.PoolableConnection poolableConnection
        end local 1 // java.sql.Connection connection
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   16     1          connection  Ljava/sql/Connection;
            5    9     2  poolableConnection  Lorg/apache/commons/dbcp2/PoolableConnection;
           11   16     2  poolableConnection  Lorg/apache/commons/dbcp2/PoolableConnection;
           10   11     3                   e  Ljava/sql/SQLException;
           14   15     3                   e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           4     9       9  Class java.sql.SQLException
          11    12      13  Class java.lang.Exception
    Exceptions:
      throws java.lang.IllegalStateException
    MethodParameters:
            Name  Flags
      connection  final

  public synchronized boolean isAccessToUnderlyingConnectionAllowed();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1479
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.accessToUnderlyingConnectionAllowed:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public synchronized boolean isClosed();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1489
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.closed:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  private boolean isEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String value
         0: .line 1499
            aload 1 /* value */
            ifnonnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* value */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.lang.String value
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    3     1  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      value  

  public synchronized boolean isPoolPreparedStatements();
    descriptor: ()Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1509
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.poolPreparedStatements:Z
            ireturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public boolean isWrapperFor(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Class iface
         0: .line 1514
            iconst_0
            ireturn
        end local 1 // java.lang.Class iface
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    1     1  iface  Ljava/lang/Class<*>;
    Exceptions:
      throws java.sql.SQLException
    Signature: (Ljava/lang/Class<*>;)Z
    MethodParameters:
       Name  Flags
      iface  final

  private void jmxRegister();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1519
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            ifnull 2
         1: .line 1520
            return
         2: .line 1523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getJmxName:()Ljava/lang/String;
            astore 1 /* requestedName */
        start local 1 // java.lang.String requestedName
         3: .line 1524
            aload 1 /* requestedName */
            ifnonnull 5
         4: .line 1525
            return
         5: .line 1528
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* requestedName */
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.wrap:(Ljava/lang/String;)Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.ObjectNameWrapper.registerMBean:(Ljava/lang/Object;)V
         6: .line 1529
            goto 9
      StackMap locals:
      StackMap stack: javax.management.MalformedObjectNameException
         7: pop
         8: .line 1530
            getstatic org.apache.commons.dbcp2.BasicDataSource.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "The requested JMX name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* requestedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] was not valid and will be ignored."
            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.warn:(Ljava/lang/Object;)V
         9: .line 1532
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String requestedName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            3   10     1  requestedName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           5     6       7  Class javax.management.MalformedObjectNameException

  protected void log(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String message
         0: .line 1535
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            ifnull 2
         1: .line 1536
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 1538
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String message
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    3     1  message  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      message  final

  protected void log(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String message
        start local 2 // java.lang.Throwable throwable
         0: .line 1548
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            ifnull 3
         1: .line 1549
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            aload 1 /* message */
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         2: .line 1550
            aload 2 /* throwable */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
            invokevirtual java.lang.Throwable.printStackTrace:(Ljava/io/PrintWriter;)V
         3: .line 1552
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable throwable
        end local 1 // java.lang.String message
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1    message  Ljava/lang/String;
            0    4     2  throwable  Ljava/lang/Throwable;
    MethodParameters:
           Name  Flags
      message    
      throwable  

  public void postDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1557
            return
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  public void postRegister(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Boolean registrationDone
         0: .line 1562
            return
        end local 1 // java.lang.Boolean registrationDone
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    1     1  registrationDone  Ljava/lang/Boolean;
    MethodParameters:
                  Name  Flags
      registrationDone  final

  public void preDeregister();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 1567
            return
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
    Exceptions:
      throws java.lang.Exception

  public javax.management.ObjectName preRegister(javax.management.MBeanServer, javax.management.ObjectName);
    descriptor: (Ljavax/management/MBeanServer;Ljavax/management/ObjectName;)Ljavax/management/ObjectName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // javax.management.MBeanServer server
        start local 2 // javax.management.ObjectName objectName
         0: .line 1571
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.getJmxName:()Ljava/lang/String;
            astore 3 /* requestedName */
        start local 3 // java.lang.String requestedName
         1: .line 1572
            aload 3 /* requestedName */
            ifnull 6
         2: .line 1574
            aload 0 /* this */
            aload 3 /* requestedName */
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.wrap:(Ljava/lang/String;)Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            putfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
         3: .line 1575
            goto 6
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource javax.management.MBeanServer javax.management.ObjectName java.lang.String
      StackMap stack: javax.management.MalformedObjectNameException
         4: pop
         5: .line 1576
            getstatic org.apache.commons.dbcp2.BasicDataSource.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "The requested JMX name ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* requestedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "] was not valid and will be ignored."
            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.warn:(Ljava/lang/Object;)V
         6: .line 1579
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            ifnonnull 8
         7: .line 1580
            aload 0 /* this */
            aload 2 /* objectName */
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.wrap:(Ljavax/management/ObjectName;)Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            putfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
         8: .line 1582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            invokestatic org.apache.commons.dbcp2.ObjectNameWrapper.unwrap:(Lorg/apache/commons/dbcp2/ObjectNameWrapper;)Ljavax/management/ObjectName;
            areturn
        end local 3 // java.lang.String requestedName
        end local 2 // javax.management.ObjectName objectName
        end local 1 // javax.management.MBeanServer server
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    9     1         server  Ljavax/management/MBeanServer;
            0    9     2     objectName  Ljavax/management/ObjectName;
            1    9     3  requestedName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  Class javax.management.MalformedObjectNameException
    MethodParameters:
            Name  Flags
      server      final
      objectName  final

  public void removeConnectionProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String name
         0: .line 1592
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionProperties:Ljava/util/Properties;
            aload 1 /* name */
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1593
            return
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  final

  public void setAbandonedLogWriter(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.io.PrintWriter logWriter
         0: .line 1601
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 1602
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 1604
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            aload 1 /* logWriter */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setLogWriter:(Ljava/io/PrintWriter;)V
         3: .line 1605
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 1606
            aload 2 /* gop */
            ifnull 6
         5: .line 1607
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 1609
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // java.io.PrintWriter logWriter
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  logWriter  Ljava/io/PrintWriter;
            4    7     2        gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
           Name  Flags
      logWriter  final

  public void setAbandonedUsageTracking(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean usageTracking
         0: .line 1620
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 1621
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 1623
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            iload 1 /* usageTracking */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setUseUsageTracking:(Z)V
         3: .line 1624
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 1625
            aload 2 /* gop */
            ifnull 6
         5: .line 1626
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 1628
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // boolean usageTracking
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  usageTracking  Z
            4    7     2            gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
               Name  Flags
      usageTracking  final

  public synchronized void setAccessToUnderlyingConnectionAllowed(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean allow
         0: .line 1644
            aload 0 /* this */
            iload 1 /* allow */
            putfield org.apache.commons.dbcp2.BasicDataSource.accessToUnderlyingConnectionAllowed:Z
         1: .line 1645
            return
        end local 1 // boolean allow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  allow  Z
    MethodParameters:
       Name  Flags
      allow  final

  public void setAutoCommitOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean autoCommitOnReturn
         0: .line 1657
            aload 0 /* this */
            iload 1 /* autoCommitOnReturn */
            putfield org.apache.commons.dbcp2.BasicDataSource.autoCommitOnReturn:Z
         1: .line 1658
            return
        end local 1 // boolean autoCommitOnReturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  autoCommitOnReturn  Z
    MethodParameters:
                    Name  Flags
      autoCommitOnReturn  final

  public void setCacheState(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean cacheState
         0: .line 1668
            aload 0 /* this */
            iload 1 /* cacheState */
            putfield org.apache.commons.dbcp2.BasicDataSource.cacheState:Z
         1: .line 1669
            return
        end local 1 // boolean cacheState
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  cacheState  Z
    MethodParameters:
            Name  Flags
      cacheState  final

  public void setConnectionFactoryClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String connectionFactoryClassName
         0: .line 1678
            aload 0 /* this */
            aload 1 /* connectionFactoryClassName */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1679
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionFactoryClassName:Ljava/lang/String;
         2: .line 1680
            goto 4
         3: .line 1681
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* connectionFactoryClassName */
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionFactoryClassName:Ljava/lang/String;
         4: .line 1683
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String connectionFactoryClassName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    5     0                        this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    5     1  connectionFactoryClassName  Ljava/lang/String;
    MethodParameters:
                            Name  Flags
      connectionFactoryClassName  final

  public void setConnectionInitSqls(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.util.Collection connectionInitSqls
         0: .line 1696
            aload 1 /* connectionInitSqls */
            ifnull 11
            aload 1 /* connectionInitSqls */
            invokeinterface java.util.Collection.size:()I
            ifle 11
         1: .line 1697
            aconst_null
            astore 2 /* newVal */
        start local 2 // java.util.ArrayList newVal
         2: .line 1698
            aload 1 /* connectionInitSqls */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
         4: .line 1699
            aload 0 /* this */
            aload 3 /* s */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifne 8
         5: .line 1700
            aload 2 /* newVal */
            ifnonnull 7
         6: .line 1701
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* newVal */
         7: .line 1703
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.ArrayList java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* newVal */
            aload 3 /* s */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String s
         8: .line 1698
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1706
            aload 0 /* this */
            aload 2 /* newVal */
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionInitSqls:Ljava/util/List;
        end local 2 // java.util.ArrayList newVal
        10: .line 1707
            goto 12
        11: .line 1708
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionInitSqls:Ljava/util/List;
        12: .line 1710
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Collection connectionInitSqls
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   13     1  connectionInitSqls  Ljava/util/Collection<Ljava/lang/String;>;
            2   10     2              newVal  Ljava/util/ArrayList<Ljava/lang/String;>;
            4    8     3                   s  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                    Name  Flags
      connectionInitSqls  final

  public void setConnectionProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String connectionProperties
         0: .line 1724
            aload 1 /* connectionProperties */
            ldc "connectionProperties is null"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 1725
            aload 1 /* connectionProperties */
            ldc ";"
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* entries */
        start local 2 // java.lang.String[] entries
         2: .line 1726
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 3 /* properties */
        start local 3 // java.util.Properties properties
         3: .line 1727
            aload 2 /* entries */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 14
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.lang.String java.lang.String[] java.util.Properties top int int java.lang.String[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* entry */
        start local 4 // java.lang.String entry
         5: .line 1728
            aload 4 /* entry */
            invokevirtual java.lang.String.length:()I
            ifle 13
         6: .line 1729
            aload 4 /* entry */
            bipush 61
            invokevirtual java.lang.String.indexOf:(I)I
            istore 8 /* index */
        start local 8 // int index
         7: .line 1730
            iload 8 /* index */
            ifle 12
         8: .line 1731
            aload 4 /* entry */
            iconst_0
            iload 8 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         9: .line 1732
            aload 4 /* entry */
            iload 8 /* index */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* value */
        start local 10 // java.lang.String value
        10: .line 1733
            aload 3 /* properties */
            aload 9 /* name */
            aload 10 /* value */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 10 // java.lang.String value
        end local 9 // java.lang.String name
        11: .line 1734
            goto 13
        12: .line 1737
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.lang.String java.lang.String[] java.util.Properties java.lang.String int int java.lang.String[] int
      StackMap stack:
            aload 3 /* properties */
            aload 4 /* entry */
            ldc ""
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        end local 8 // int index
        end local 4 // java.lang.String entry
        13: .line 1727
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.lang.String java.lang.String[] java.util.Properties top int int java.lang.String[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        14: iload 5
            iload 6
            if_icmplt 4
        15: .line 1741
            aload 0 /* this */
            aload 3 /* properties */
            putfield org.apache.commons.dbcp2.BasicDataSource.connectionProperties:Ljava/util/Properties;
        16: .line 1742
            return
        end local 3 // java.util.Properties properties
        end local 2 // java.lang.String[] entries
        end local 1 // java.lang.String connectionProperties
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   17     0                  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   17     1  connectionProperties  Ljava/lang/String;
            2   17     2               entries  [Ljava/lang/String;
            3   17     3            properties  Ljava/util/Properties;
            5   13     4                 entry  Ljava/lang/String;
            7   13     8                 index  I
            9   11     9                  name  Ljava/lang/String;
           10   11    10                 value  Ljava/lang/String;
    MethodParameters:
                      Name  Flags
      connectionProperties  final

  public void setDefaultAutoCommit(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Boolean defaultAutoCommit
         0: .line 1757
            aload 0 /* this */
            aload 1 /* defaultAutoCommit */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultAutoCommit:Ljava/lang/Boolean;
         1: .line 1758
            return
        end local 1 // java.lang.Boolean defaultAutoCommit
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  defaultAutoCommit  Ljava/lang/Boolean;
    MethodParameters:
                   Name  Flags
      defaultAutoCommit  final

  public void setDefaultCatalog(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String defaultCatalog
         0: .line 1773
            aload 0 /* this */
            aload 1 /* defaultCatalog */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1774
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultCatalog:Ljava/lang/String;
         2: .line 1775
            goto 4
         3: .line 1776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* defaultCatalog */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultCatalog:Ljava/lang/String;
         4: .line 1778
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String defaultCatalog
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    5     1  defaultCatalog  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      defaultCatalog  final

  public void setDefaultQueryTimeout(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Integer defaultQueryTimeoutSeconds
         0: .line 1787
            aload 0 /* this */
            aload 1 /* defaultQueryTimeoutSeconds */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultQueryTimeoutSeconds:Ljava/lang/Integer;
         1: .line 1788
            return
        end local 1 // java.lang.Integer defaultQueryTimeoutSeconds
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    2     0                        this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  defaultQueryTimeoutSeconds  Ljava/lang/Integer;
    MethodParameters:
                            Name  Flags
      defaultQueryTimeoutSeconds  final

  public void setDefaultReadOnly(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Boolean defaultReadOnly
         0: .line 1803
            aload 0 /* this */
            aload 1 /* defaultReadOnly */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultReadOnly:Ljava/lang/Boolean;
         1: .line 1804
            return
        end local 1 // java.lang.Boolean defaultReadOnly
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  defaultReadOnly  Ljava/lang/Boolean;
    MethodParameters:
                 Name  Flags
      defaultReadOnly  final

  public void setDefaultSchema(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String defaultSchema
         0: .line 1820
            aload 0 /* this */
            aload 1 /* defaultSchema */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1821
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultSchema:Ljava/lang/String;
         2: .line 1822
            goto 4
         3: .line 1823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* defaultSchema */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultSchema:Ljava/lang/String;
         4: .line 1825
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String defaultSchema
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    5     1  defaultSchema  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      defaultSchema  final

  public void setDefaultTransactionIsolation(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int defaultTransactionIsolation
         0: .line 1841
            aload 0 /* this */
            iload 1 /* defaultTransactionIsolation */
            putfield org.apache.commons.dbcp2.BasicDataSource.defaultTransactionIsolation:I
         1: .line 1842
            return
        end local 1 // int defaultTransactionIsolation
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  defaultTransactionIsolation  I
    MethodParameters:
                             Name  Flags
      defaultTransactionIsolation  final

  public void setDisconnectionSqlCodes(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.util.Collection disconnectionSqlCodes
         0: .line 1866
            aload 1 /* disconnectionSqlCodes */
            ifnull 11
            aload 1 /* disconnectionSqlCodes */
            invokeinterface java.util.Collection.size:()I
            ifle 11
         1: .line 1867
            aconst_null
            astore 2 /* newVal */
        start local 2 // java.util.HashSet newVal
         2: .line 1868
            aload 1 /* disconnectionSqlCodes */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.HashSet top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* s */
        start local 3 // java.lang.String s
         4: .line 1869
            aload 0 /* this */
            aload 3 /* s */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifne 8
         5: .line 1870
            aload 2 /* newVal */
            ifnonnull 7
         6: .line 1871
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* newVal */
         7: .line 1873
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.HashSet java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* newVal */
            aload 3 /* s */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String s
         8: .line 1868
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 1876
            aload 0 /* this */
            aload 2 /* newVal */
            putfield org.apache.commons.dbcp2.BasicDataSource.disconnectionSqlCodes:Ljava/util/Set;
        end local 2 // java.util.HashSet newVal
        10: .line 1877
            goto 12
        11: .line 1878
      StackMap locals: org.apache.commons.dbcp2.BasicDataSource java.util.Collection
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.disconnectionSqlCodes:Ljava/util/Set;
        12: .line 1880
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Collection disconnectionSqlCodes
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0   13     1  disconnectionSqlCodes  Ljava/util/Collection<Ljava/lang/String;>;
            2   10     2                 newVal  Ljava/util/HashSet<Ljava/lang/String;>;
            4    8     3                      s  Ljava/lang/String;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)V
    MethodParameters:
                       Name  Flags
      disconnectionSqlCodes  final

  public synchronized void setDriver(java.sql.Driver);
    descriptor: (Ljava/sql/Driver;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.sql.Driver driver
         0: .line 1893
            aload 0 /* this */
            aload 1 /* driver */
            putfield org.apache.commons.dbcp2.BasicDataSource.driver:Ljava/sql/Driver;
         1: .line 1894
            return
        end local 1 // java.sql.Driver driver
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  driver  Ljava/sql/Driver;
    MethodParameters:
        Name  Flags
      driver  final

  public synchronized void setDriverClassLoader(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.ClassLoader driverClassLoader
         0: .line 1909
            aload 0 /* this */
            aload 1 /* driverClassLoader */
            putfield org.apache.commons.dbcp2.BasicDataSource.driverClassLoader:Ljava/lang/ClassLoader;
         1: .line 1910
            return
        end local 1 // java.lang.ClassLoader driverClassLoader
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  driverClassLoader  Ljava/lang/ClassLoader;
    MethodParameters:
                   Name  Flags
      driverClassLoader  final

  public synchronized void setDriverClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String driverClassName
         0: .line 1925
            aload 0 /* this */
            aload 1 /* driverClassName */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 1926
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.driverClassName:Ljava/lang/String;
         2: .line 1927
            goto 4
         3: .line 1928
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* driverClassName */
            putfield org.apache.commons.dbcp2.BasicDataSource.driverClassName:Ljava/lang/String;
         4: .line 1930
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String driverClassName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    5     1  driverClassName  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      driverClassName  final

  public void setEnableAutoCommitOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean autoCommitOnReturn
         0: .line 1943
            aload 0 /* this */
            iload 1 /* autoCommitOnReturn */
            putfield org.apache.commons.dbcp2.BasicDataSource.autoCommitOnReturn:Z
         1: .line 1944
            return
        end local 1 // boolean autoCommitOnReturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  autoCommitOnReturn  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                    Name  Flags
      autoCommitOnReturn  final

  public synchronized void setEvictionPolicyClassName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String evictionPolicyClassName
         0: .line 1952
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 2
         1: .line 1953
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            aload 1 /* evictionPolicyClassName */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setEvictionPolicyClassName:(Ljava/lang/String;)V
         2: .line 1955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* evictionPolicyClassName */
            putfield org.apache.commons.dbcp2.BasicDataSource.evictionPolicyClassName:Ljava/lang/String;
         3: .line 1956
            return
        end local 1 // java.lang.String evictionPolicyClassName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    4     0                     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  evictionPolicyClassName  Ljava/lang/String;
    MethodParameters:
                         Name  Flags
      evictionPolicyClassName  final

  public void setFastFailValidation(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean fastFailValidation
         0: .line 1964
            aload 0 /* this */
            iload 1 /* fastFailValidation */
            putfield org.apache.commons.dbcp2.BasicDataSource.fastFailValidation:Z
         1: .line 1965
            return
        end local 1 // boolean fastFailValidation
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  fastFailValidation  Z
    MethodParameters:
                    Name  Flags
      fastFailValidation  final

  public synchronized void setInitialSize(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int initialSize
         0: .line 1980
            aload 0 /* this */
            iload 1 /* initialSize */
            putfield org.apache.commons.dbcp2.BasicDataSource.initialSize:I
         1: .line 1981
            return
        end local 1 // int initialSize
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  initialSize  I
    MethodParameters:
             Name  Flags
      initialSize  final

  public void setJmxName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String jmxName
         0: .line 1992
            aload 0 /* this */
            aload 1 /* jmxName */
            putfield org.apache.commons.dbcp2.BasicDataSource.jmxName:Ljava/lang/String;
         1: .line 1993
            return
        end local 1 // java.lang.String jmxName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  jmxName  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      jmxName  final

  public synchronized void setLifo(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean lifo
         0: .line 2001
            aload 0 /* this */
            iload 1 /* lifo */
            putfield org.apache.commons.dbcp2.BasicDataSource.lifo:Z
         1: .line 2002
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2003
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* lifo */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setLifo:(Z)V
         3: .line 2005
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean lifo
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  lifo  Z
    MethodParameters:
      Name  Flags
      lifo  final

  public void setLogAbandoned(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean logAbandoned
         0: .line 2011
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 2012
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 2014
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            iload 1 /* logAbandoned */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setLogAbandoned:(Z)V
         3: .line 2015
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 2016
            aload 2 /* gop */
            ifnull 6
         5: .line 2017
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 2019
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // boolean logAbandoned
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  logAbandoned  Z
            4    7     2           gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
              Name  Flags
      logAbandoned  final

  public void setLogExpiredConnections(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean logExpiredConnections
         0: .line 2030
            aload 0 /* this */
            iload 1 /* logExpiredConnections */
            putfield org.apache.commons.dbcp2.BasicDataSource.logExpiredConnections:Z
         1: .line 2031
            return
        end local 1 // boolean logExpiredConnections
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  logExpiredConnections  Z
    MethodParameters:
                       Name  Flags
      logExpiredConnections  final

  public void setLoginTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int loginTimeout
         0: .line 2052
            new java.lang.UnsupportedOperationException
            dup
            ldc "Not supported by BasicDataSource"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int loginTimeout
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    1     1  loginTimeout  I
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
              Name  Flags
      loginTimeout  final

  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.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.io.PrintWriter logWriter
         0: .line 2068
            aload 0 /* this */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.createDataSource:()Ljavax/sql/DataSource;
            aload 1 /* logWriter */
            invokeinterface javax.sql.DataSource.setLogWriter:(Ljava/io/PrintWriter;)V
         1: .line 2069
            aload 0 /* this */
            aload 1 /* logWriter */
            putfield org.apache.commons.dbcp2.BasicDataSource.logWriter:Ljava/io/PrintWriter;
         2: .line 2070
            return
        end local 1 // java.io.PrintWriter logWriter
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    3     1  logWriter  Ljava/io/PrintWriter;
    Exceptions:
      throws java.sql.SQLException
    MethodParameters:
           Name  Flags
      logWriter  final

  public void setMaxConnLifetimeMillis(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // long maxConnLifetimeMillis
         0: .line 2086
            aload 0 /* this */
            lload 1 /* maxConnLifetimeMillis */
            putfield org.apache.commons.dbcp2.BasicDataSource.maxConnLifetimeMillis:J
         1: .line 2087
            return
        end local 1 // long maxConnLifetimeMillis
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  maxConnLifetimeMillis  J
    MethodParameters:
                       Name  Flags
      maxConnLifetimeMillis  final

  public synchronized void setMaxIdle(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int maxIdle
         0: .line 2097
            aload 0 /* this */
            iload 1 /* maxIdle */
            putfield org.apache.commons.dbcp2.BasicDataSource.maxIdle:I
         1: .line 2098
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2099
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* maxIdle */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxIdle:(I)V
         3: .line 2101
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int maxIdle
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  maxIdle  I
    MethodParameters:
         Name  Flags
      maxIdle  final

  public synchronized void setMaxOpenPreparedStatements(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int maxOpenStatements
         0: .line 2116
            aload 0 /* this */
            iload 1 /* maxOpenStatements */
            putfield org.apache.commons.dbcp2.BasicDataSource.maxOpenPreparedStatements:I
         1: .line 2117
            return
        end local 1 // int maxOpenStatements
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  maxOpenStatements  I
    MethodParameters:
                   Name  Flags
      maxOpenStatements  final

  public synchronized void setMaxTotal(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int maxTotal
         0: .line 2127
            aload 0 /* this */
            iload 1 /* maxTotal */
            putfield org.apache.commons.dbcp2.BasicDataSource.maxTotal:I
         1: .line 2128
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2129
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* maxTotal */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxTotal:(I)V
         3: .line 2131
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int maxTotal
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  maxTotal  I
    MethodParameters:
          Name  Flags
      maxTotal  final

  public synchronized void setMaxWaitMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // long maxWaitMillis
         0: .line 2140
            aload 0 /* this */
            lload 1 /* maxWaitMillis */
            putfield org.apache.commons.dbcp2.BasicDataSource.maxWaitMillis:J
         1: .line 2141
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2142
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            lload 1 /* maxWaitMillis */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMaxWaitMillis:(J)V
         3: .line 2144
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long maxWaitMillis
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  maxWaitMillis  J
    MethodParameters:
               Name  Flags
      maxWaitMillis  final

  public synchronized void setMinEvictableIdleTimeMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // long minEvictableIdleTimeMillis
         0: .line 2153
            aload 0 /* this */
            lload 1 /* minEvictableIdleTimeMillis */
            putfield org.apache.commons.dbcp2.BasicDataSource.minEvictableIdleTimeMillis:J
         1: .line 2154
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2155
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            lload 1 /* minEvictableIdleTimeMillis */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMinEvictableIdleTimeMillis:(J)V
         3: .line 2157
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long minEvictableIdleTimeMillis
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    4     0                        this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  minEvictableIdleTimeMillis  J
    MethodParameters:
                            Name  Flags
      minEvictableIdleTimeMillis  final

  public synchronized void setMinIdle(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int minIdle
         0: .line 2170
            aload 0 /* this */
            iload 1 /* minIdle */
            putfield org.apache.commons.dbcp2.BasicDataSource.minIdle:I
         1: .line 2171
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2172
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* minIdle */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setMinIdle:(I)V
         3: .line 2174
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int minIdle
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  minIdle  I
    MethodParameters:
         Name  Flags
      minIdle  final

  public synchronized void setNumTestsPerEvictionRun(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int numTestsPerEvictionRun
         0: .line 2183
            aload 0 /* this */
            iload 1 /* numTestsPerEvictionRun */
            putfield org.apache.commons.dbcp2.BasicDataSource.numTestsPerEvictionRun:I
         1: .line 2184
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2185
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* numTestsPerEvictionRun */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setNumTestsPerEvictionRun:(I)V
         3: .line 2187
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int numTestsPerEvictionRun
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  numTestsPerEvictionRun  I
    MethodParameters:
                        Name  Flags
      numTestsPerEvictionRun  final

  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.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String password
         0: .line 2202
            aload 0 /* this */
            aload 1 /* password */
            putfield org.apache.commons.dbcp2.BasicDataSource.password:Ljava/lang/String;
         1: .line 2203
            return
        end local 1 // java.lang.String password
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      password  final

  public synchronized void setPoolPreparedStatements(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean poolingStatements
         0: .line 2218
            aload 0 /* this */
            iload 1 /* poolingStatements */
            putfield org.apache.commons.dbcp2.BasicDataSource.poolPreparedStatements:Z
         1: .line 2219
            return
        end local 1 // boolean poolingStatements
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  poolingStatements  Z
    MethodParameters:
                   Name  Flags
      poolingStatements  final

  public void setRemoveAbandonedOnBorrow(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean removeAbandonedOnBorrow
         0: .line 2227
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 2228
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 2230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            iload 1 /* removeAbandonedOnBorrow */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setRemoveAbandonedOnBorrow:(Z)V
         3: .line 2231
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 2232
            aload 2 /* gop */
            ifnull 6
         5: .line 2233
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 2235
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // boolean removeAbandonedOnBorrow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    7     0                     this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  removeAbandonedOnBorrow  Z
            4    7     2                      gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
                         Name  Flags
      removeAbandonedOnBorrow  final

  public void setRemoveAbandonedOnMaintenance(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean removeAbandonedOnMaintenance
         0: .line 2242
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 2243
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 2245
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            iload 1 /* removeAbandonedOnMaintenance */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setRemoveAbandonedOnMaintenance:(Z)V
         3: .line 2246
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 2247
            aload 2 /* gop */
            ifnull 6
         5: .line 2248
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 2250
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // boolean removeAbandonedOnMaintenance
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    7     0                          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  removeAbandonedOnMaintenance  Z
            4    7     2                           gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
                              Name  Flags
      removeAbandonedOnMaintenance  final

  public void setRemoveAbandonedTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int removeAbandonedTimeout
         0: .line 2268
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            ifnonnull 2
         1: .line 2269
            aload 0 /* this */
            new org.apache.commons.pool2.impl.AbandonedConfig
            dup
            invokespecial org.apache.commons.pool2.impl.AbandonedConfig.<init>:()V
            putfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
         2: .line 2271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            iload 1 /* removeAbandonedTimeout */
            invokevirtual org.apache.commons.pool2.impl.AbandonedConfig.setRemoveAbandonedTimeout:(I)V
         3: .line 2272
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            astore 2 /* gop */
        start local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
         4: .line 2273
            aload 2 /* gop */
            ifnull 6
         5: .line 2274
            aload 2 /* gop */
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.abandonedConfig:Lorg/apache/commons/pool2/impl/AbandonedConfig;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setAbandonedConfig:(Lorg/apache/commons/pool2/impl/AbandonedConfig;)V
         6: .line 2276
      StackMap locals: org.apache.commons.pool2.impl.GenericObjectPool
      StackMap stack:
            return
        end local 2 // org.apache.commons.pool2.impl.GenericObjectPool gop
        end local 1 // int removeAbandonedTimeout
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  removeAbandonedTimeout  I
            4    7     2                     gop  Lorg/apache/commons/pool2/impl/GenericObjectPool<*>;
    MethodParameters:
                        Name  Flags
      removeAbandonedTimeout  final

  public void setRollbackOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean rollbackOnReturn
         0: .line 2285
            aload 0 /* this */
            iload 1 /* rollbackOnReturn */
            putfield org.apache.commons.dbcp2.BasicDataSource.rollbackOnReturn:Z
         1: .line 2286
            return
        end local 1 // boolean rollbackOnReturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  rollbackOnReturn  Z
    MethodParameters:
                  Name  Flags
      rollbackOnReturn  final

  public synchronized void setSoftMinEvictableIdleTimeMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // long softMinEvictableIdleTimeMillis
         0: .line 2298
            aload 0 /* this */
            lload 1 /* softMinEvictableIdleTimeMillis */
            putfield org.apache.commons.dbcp2.BasicDataSource.softMinEvictableIdleTimeMillis:J
         1: .line 2299
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2300
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            lload 1 /* softMinEvictableIdleTimeMillis */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setSoftMinEvictableIdleTimeMillis:(J)V
         3: .line 2302
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long softMinEvictableIdleTimeMillis
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0    4     0                            this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  softMinEvictableIdleTimeMillis  J
    MethodParameters:
                                Name  Flags
      softMinEvictableIdleTimeMillis  final

  public synchronized void setTestOnBorrow(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean testOnBorrow
         0: .line 2311
            aload 0 /* this */
            iload 1 /* testOnBorrow */
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnBorrow:Z
         1: .line 2312
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2313
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* testOnBorrow */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnBorrow:(Z)V
         3: .line 2315
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean testOnBorrow
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  testOnBorrow  Z
    MethodParameters:
              Name  Flags
      testOnBorrow  final

  public synchronized void setTestOnCreate(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean testOnCreate
         0: .line 2324
            aload 0 /* this */
            iload 1 /* testOnCreate */
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnCreate:Z
         1: .line 2325
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2326
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* testOnCreate */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnCreate:(Z)V
         3: .line 2328
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean testOnCreate
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  testOnCreate  Z
    MethodParameters:
              Name  Flags
      testOnCreate  final

  public synchronized void setTestOnReturn(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean testOnReturn
         0: .line 2337
            aload 0 /* this */
            iload 1 /* testOnReturn */
            putfield org.apache.commons.dbcp2.BasicDataSource.testOnReturn:Z
         1: .line 2338
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2339
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* testOnReturn */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestOnReturn:(Z)V
         3: .line 2341
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean testOnReturn
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  testOnReturn  Z
    MethodParameters:
              Name  Flags
      testOnReturn  final

  public synchronized void setTestWhileIdle(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // boolean testWhileIdle
         0: .line 2350
            aload 0 /* this */
            iload 1 /* testWhileIdle */
            putfield org.apache.commons.dbcp2.BasicDataSource.testWhileIdle:Z
         1: .line 2351
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2352
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            iload 1 /* testWhileIdle */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTestWhileIdle:(Z)V
         3: .line 2354
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean testWhileIdle
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  testWhileIdle  Z
    MethodParameters:
               Name  Flags
      testWhileIdle  final

  public synchronized void setTimeBetweenEvictionRunsMillis(long);
    descriptor: (J)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // long timeBetweenEvictionRunsMillis
         0: .line 2363
            aload 0 /* this */
            lload 1 /* timeBetweenEvictionRunsMillis */
            putfield org.apache.commons.dbcp2.BasicDataSource.timeBetweenEvictionRunsMillis:J
         1: .line 2364
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 3
         2: .line 2365
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            lload 1 /* timeBetweenEvictionRunsMillis */
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTimeBetweenEvictionRunsMillis:(J)V
         3: .line 2367
      StackMap locals:
      StackMap stack:
            return
        end local 1 // long timeBetweenEvictionRunsMillis
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    4     0                           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    4     1  timeBetweenEvictionRunsMillis  J
    MethodParameters:
                               Name  Flags
      timeBetweenEvictionRunsMillis  final

  public synchronized void setUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String url
         0: .line 2382
            aload 0 /* this */
            aload 1 /* url */
            putfield org.apache.commons.dbcp2.BasicDataSource.url:Ljava/lang/String;
         1: .line 2383
            return
        end local 1 // java.lang.String url
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   final

  public void setUsername(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String userName
         0: .line 2398
            aload 0 /* this */
            aload 1 /* userName */
            putfield org.apache.commons.dbcp2.BasicDataSource.userName:Ljava/lang/String;
         1: .line 2399
            return
        end local 1 // java.lang.String userName
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  userName  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      userName  final

  public void setValidationQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.String validationQuery
         0: .line 2414
            aload 0 /* this */
            aload 1 /* validationQuery */
            invokevirtual org.apache.commons.dbcp2.BasicDataSource.isEmpty:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 2415
            aload 0 /* this */
            aconst_null
            putfield org.apache.commons.dbcp2.BasicDataSource.validationQuery:Ljava/lang/String;
         2: .line 2416
            goto 4
         3: .line 2417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* validationQuery */
            putfield org.apache.commons.dbcp2.BasicDataSource.validationQuery:Ljava/lang/String;
         4: .line 2419
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String validationQuery
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    5     1  validationQuery  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      validationQuery  final

  public void setValidationQueryTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // int validationQueryTimeoutSeconds
         0: .line 2433
            aload 0 /* this */
            iload 1 /* validationQueryTimeoutSeconds */
            putfield org.apache.commons.dbcp2.BasicDataSource.validationQueryTimeoutSeconds:I
         1: .line 2434
            return
        end local 1 // int validationQueryTimeoutSeconds
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    2     0                           this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    2     1  validationQueryTimeoutSeconds  I
    MethodParameters:
                               Name  Flags
      validationQueryTimeoutSeconds  final

  protected void startPoolMaintenance();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
         0: .line 2440
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            ifnull 2
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.timeBetweenEvictionRunsMillis:J
            lconst_0
            lcmp
            ifle 2
         1: .line 2441
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.connectionPool:Lorg/apache/commons/pool2/impl/GenericObjectPool;
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.timeBetweenEvictionRunsMillis:J
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPool.setTimeBetweenEvictionRunsMillis:(J)V
         2: .line 2443
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/BasicDataSource;

  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.apache.commons.dbcp2.BasicDataSource this
        start local 1 // java.lang.Class iface
         0: .line 2447
            new java.sql.SQLException
            dup
            ldc "BasicDataSource is not a wrapper."
            invokespecial java.sql.SQLException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Class iface
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    1     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  final

  private void updateJmxName(org.apache.commons.pool2.impl.GenericObjectPoolConfig<?>);
    descriptor: (Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.commons.dbcp2.BasicDataSource this
        start local 1 // org.apache.commons.pool2.impl.GenericObjectPoolConfig config
         0: .line 2451
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            ifnonnull 2
         1: .line 2452
            return
         2: .line 2454
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.BasicDataSource.registeredJmxObjectName:Lorg/apache/commons/dbcp2/ObjectNameWrapper;
            invokevirtual org.apache.commons.dbcp2.ObjectNameWrapper.toString:()Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* base */
        start local 2 // java.lang.StringBuilder base
         3: .line 2455
            aload 2 /* base */
            ldc ",connectionpool="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 2456
            aload 1 /* config */
            aload 2 /* base */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPoolConfig.setJmxNameBase:(Ljava/lang/String;)V
         5: .line 2457
            aload 1 /* config */
            ldc "connections"
            invokevirtual org.apache.commons.pool2.impl.GenericObjectPoolConfig.setJmxNamePrefix:(Ljava/lang/String;)V
         6: .line 2458
            return
        end local 2 // java.lang.StringBuilder base
        end local 1 // org.apache.commons.pool2.impl.GenericObjectPoolConfig config
        end local 0 // org.apache.commons.dbcp2.BasicDataSource this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/apache/commons/dbcp2/BasicDataSource;
            0    7     1  config  Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig<*>;
            3    7     2    base  Ljava/lang/StringBuilder;
    Signature: (Lorg/apache/commons/pool2/impl/GenericObjectPoolConfig<*>;)V
    MethodParameters:
        Name  Flags
      config  final
}
SourceFile: "BasicDataSource.java"
NestMembers:
  org.apache.commons.dbcp2.BasicDataSource$PaGetConnection
InnerClasses:
  private PaGetConnection = org.apache.commons.dbcp2.BasicDataSource$PaGetConnection of org.apache.commons.dbcp2.BasicDataSource