class org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper extends org.apache.commons.dbcp2.DelegatingConnection<java.sql.Connection>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper
  super_class: org.apache.commons.dbcp2.DelegatingConnection
{
  private final org.apache.commons.pool2.ObjectPool<? extends java.sql.Connection> pool;
    descriptor: Lorg/apache/commons/pool2/ObjectPool;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/apache/commons/pool2/ObjectPool<+Ljava/sql/Connection;>;

  final org.apache.commons.dbcp2.PoolingDriver this$0;
    descriptor: Lorg/apache/commons/dbcp2/PoolingDriver;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.apache.commons.pool2.ObjectPool<? extends java.sql.Connection>, java.sql.Connection);
    descriptor: (Lorg/apache/commons/dbcp2/PoolingDriver;Lorg/apache/commons/pool2/ObjectPool;Ljava/sql/Connection;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
        start local 2 // org.apache.commons.pool2.ObjectPool pool
        start local 3 // java.sql.Connection delegate
         0: .line 236
            aload 0 /* this */
            aload 1
            putfield org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper.this$0:Lorg/apache/commons/dbcp2/PoolingDriver;
         1: .line 237
            aload 0 /* this */
            aload 3 /* delegate */
            invokespecial org.apache.commons.dbcp2.DelegatingConnection.<init>:(Ljava/sql/Connection;)V
         2: .line 238
            aload 0 /* this */
            aload 2 /* pool */
            putfield org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper.pool:Lorg/apache/commons/pool2/ObjectPool;
         3: .line 239
            return
        end local 3 // java.sql.Connection delegate
        end local 2 // org.apache.commons.pool2.ObjectPool pool
        end local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/commons/dbcp2/PoolingDriver$PoolGuardConnectionWrapper;
            0    4     2      pool  Lorg/apache/commons/pool2/ObjectPool<+Ljava/sql/Connection;>;
            0    4     3  delegate  Ljava/sql/Connection;
    Signature: (Lorg/apache/commons/pool2/ObjectPool<+Ljava/sql/Connection;>;Ljava/sql/Connection;)V
    MethodParameters:
          Name  Flags
      this$0    final
      pool      final
      delegate  final

  public java.sql.Connection getDelegate();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
         0: .line 246
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper.this$0:Lorg/apache/commons/dbcp2/PoolingDriver;
            invokevirtual org.apache.commons.dbcp2.PoolingDriver.isAccessToUnderlyingConnectionAllowed:()Z
            ifeq 2
         1: .line 247
            aload 0 /* this */
            invokespecial org.apache.commons.dbcp2.DelegatingConnection.getDelegate:()Ljava/sql/Connection;
            areturn
         2: .line 249
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/PoolingDriver$PoolGuardConnectionWrapper;

  public java.sql.Connection getInnermostDelegate();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
         0: .line 257
            aload 0 /* this */
            getfield org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper.this$0:Lorg/apache/commons/dbcp2/PoolingDriver;
            invokevirtual org.apache.commons.dbcp2.PoolingDriver.isAccessToUnderlyingConnectionAllowed:()Z
            ifeq 2
         1: .line 258
            aload 0 /* this */
            invokespecial org.apache.commons.dbcp2.DelegatingConnection.getInnermostDelegate:()Ljava/sql/Connection;
            areturn
         2: .line 260
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/dbcp2/PoolingDriver$PoolGuardConnectionWrapper;
}
Signature: Lorg/apache/commons/dbcp2/DelegatingConnection<Ljava/sql/Connection;>;
SourceFile: "PoolingDriver.java"
NestHost: org.apache.commons.dbcp2.PoolingDriver
InnerClasses:
  private PoolGuardConnectionWrapper = org.apache.commons.dbcp2.PoolingDriver$PoolGuardConnectionWrapper of org.apache.commons.dbcp2.PoolingDriver