public class org.jdbi.v3.core.Handle implements java.io.Closeable, org.jdbi.v3.core.config.Configurable<org.jdbi.v3.core.Handle>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jdbi.v3.core.Handle
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.jdbi.v3.core.Handle$ConnectionCloser closer;
    descriptor: Lorg/jdbi/v3/core/Handle$ConnectionCloser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jdbi.v3.core.transaction.TransactionHandler transactions;
    descriptor: Lorg/jdbi/v3/core/transaction/TransactionHandler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.sql.Connection connection;
    descriptor: Ljava/sql/Connection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean forceEndTransactions;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.ThreadLocal<org.jdbi.v3.core.config.ConfigRegistry> config;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;

  private java.lang.ThreadLocal<org.jdbi.v3.core.extension.ExtensionMethod> extensionMethod;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;

  private org.jdbi.v3.core.statement.StatementBuilder statementBuilder;
    descriptor: Lorg/jdbi/v3/core/statement/StatementBuilder;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 51
            ldc Lorg/jdbi/v3/core/Handle;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(org.jdbi.v3.core.config.ConfigRegistry, org.jdbi.v3.core.Handle$ConnectionCloser, org.jdbi.v3.core.transaction.TransactionHandler, org.jdbi.v3.core.statement.StatementBuilder, java.sql.Connection);
    descriptor: (Lorg/jdbi/v3/core/config/ConfigRegistry;Lorg/jdbi/v3/core/Handle$ConnectionCloser;Lorg/jdbi/v3/core/transaction/TransactionHandler;Lorg/jdbi/v3/core/statement/StatementBuilder;Ljava/sql/Connection;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.config.ConfigRegistry config
        start local 2 // org.jdbi.v3.core.Handle$ConnectionCloser closer
        start local 3 // org.jdbi.v3.core.transaction.TransactionHandler transactions
        start local 4 // org.jdbi.v3.core.statement.StatementBuilder statementBuilder
        start local 5 // java.sql.Connection connection
         0: .line 64
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            iconst_0
            putfield org.jdbi.v3.core.Handle.closed:Z
         2: .line 69
            aload 0 /* this */
            aload 2 /* closer */
            putfield org.jdbi.v3.core.Handle.closer:Lorg/jdbi/v3/core/Handle$ConnectionCloser;
         3: .line 70
            aload 0 /* this */
            aload 3 /* transactions */
            putfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
         4: .line 71
            aload 0 /* this */
            aload 5 /* connection */
            putfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
         5: .line 73
            aload 0 /* this */
            aload 1 /* config */
            invokedynamic get(Lorg/jdbi/v3/core/config/ConfigRegistry;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/jdbi/v3/core/Handle.lambda$0(Lorg/jdbi/v3/core/config/ConfigRegistry;)Lorg/jdbi/v3/core/config/ConfigRegistry; (6)
                  ()Lorg/jdbi/v3/core/config/ConfigRegistry;
            invokestatic java.lang.ThreadLocal.withInitial:(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
            putfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
         6: .line 74
            aload 0 /* this */
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putfield org.jdbi.v3.core.Handle.extensionMethod:Ljava/lang/ThreadLocal;
         7: .line 75
            aload 0 /* this */
            aload 4 /* statementBuilder */
            putfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
         8: .line 76
            aload 0 /* this */
            aload 3 /* transactions */
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.isInTransaction:(Lorg/jdbi/v3/core/Handle;)Z
            ifeq 9
            iconst_0
            goto 10
      StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.config.ConfigRegistry org.jdbi.v3.core.Handle$ConnectionCloser org.jdbi.v3.core.transaction.TransactionHandler org.jdbi.v3.core.statement.StatementBuilder java.sql.Connection
      StackMap stack: org.jdbi.v3.core.Handle
         9: iconst_1
      StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.config.ConfigRegistry org.jdbi.v3.core.Handle$ConnectionCloser org.jdbi.v3.core.transaction.TransactionHandler org.jdbi.v3.core.statement.StatementBuilder java.sql.Connection
      StackMap stack: org.jdbi.v3.core.Handle int
        10: putfield org.jdbi.v3.core.Handle.forceEndTransactions:Z
        11: .line 77
            return
        end local 5 // java.sql.Connection connection
        end local 4 // org.jdbi.v3.core.statement.StatementBuilder statementBuilder
        end local 3 // org.jdbi.v3.core.transaction.TransactionHandler transactions
        end local 2 // org.jdbi.v3.core.Handle$ConnectionCloser closer
        end local 1 // org.jdbi.v3.core.config.ConfigRegistry config
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   12     0              this  Lorg/jdbi/v3/core/Handle;
            0   12     1            config  Lorg/jdbi/v3/core/config/ConfigRegistry;
            0   12     2            closer  Lorg/jdbi/v3/core/Handle$ConnectionCloser;
            0   12     3      transactions  Lorg/jdbi/v3/core/transaction/TransactionHandler;
            0   12     4  statementBuilder  Lorg/jdbi/v3/core/statement/StatementBuilder;
            0   12     5        connection  Ljava/sql/Connection;
    MethodParameters:
                  Name  Flags
      config            
      closer            
      transactions      
      statementBuilder  
      connection        

  public org.jdbi.v3.core.config.ConfigRegistry getConfig();
    descriptor: ()Lorg/jdbi/v3/core/config/ConfigRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 81
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.jdbi.v3.core.config.ConfigRegistry
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  void setConfig(org.jdbi.v3.core.config.ConfigRegistry);
    descriptor: (Lorg/jdbi/v3/core/config/ConfigRegistry;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.config.ConfigRegistry config
         0: .line 85
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
            aload 1 /* config */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 86
            return
        end local 1 // org.jdbi.v3.core.config.ConfigRegistry config
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jdbi/v3/core/Handle;
            0    2     1  config  Lorg/jdbi/v3/core/config/ConfigRegistry;
    MethodParameters:
        Name  Flags
      config  

  void setConfigThreadLocal(java.lang.ThreadLocal<org.jdbi.v3.core.config.ConfigRegistry>);
    descriptor: (Ljava/lang/ThreadLocal;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.ThreadLocal config
         0: .line 89
            aload 0 /* this */
            aload 1 /* config */
            putfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
         1: .line 90
            return
        end local 1 // java.lang.ThreadLocal config
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jdbi/v3/core/Handle;
            0    2     1  config  Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;
    Signature: (Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/config/ConfigRegistry;>;)V
    MethodParameters:
        Name  Flags
      config  

  public java.sql.Connection getConnection();
    descriptor: ()Ljava/sql/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 98
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.statement.StatementBuilder getStatementBuilder();
    descriptor: ()Lorg/jdbi/v3/core/statement/StatementBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 105
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.Handle setStatementBuilder(org.jdbi.v3.core.statement.StatementBuilder);
    descriptor: (Lorg/jdbi/v3/core/statement/StatementBuilder;)Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.statement.StatementBuilder builder
         0: .line 114
            aload 0 /* this */
            aload 1 /* builder */
            putfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
         1: .line 115
            aload 0 /* this */
            areturn
        end local 1 // org.jdbi.v3.core.statement.StatementBuilder builder
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/jdbi/v3/core/Handle;
            0    2     1  builder  Lorg/jdbi/v3/core/statement/StatementBuilder;
    MethodParameters:
         Name  Flags
      builder  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 127
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* suppressed */
        start local 1 // java.util.List suppressed
         1: .line 128
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.closed:Z
            ifeq 3
         2: .line 129
            return
         3: .line 132
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            istore 2 /* wasInTransaction */
        start local 2 // boolean wasInTransaction
         4: .line 133
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.forceEndTransactions:Z
            ifeq 9
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.jdbi.v3.core.config.ConfigRegistry
            ldc Lorg/jdbi/v3/core/Handles;
            invokevirtual org.jdbi.v3.core.config.ConfigRegistry.get:(Ljava/lang/Class;)Lorg/jdbi/v3/core/config/JdbiConfig;
            checkcast org.jdbi.v3.core.Handles
            invokevirtual org.jdbi.v3.core.Handles.isForceEndTransactions:()Z
            ifeq 9
         5: .line 135
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
            istore 2 /* wasInTransaction */
         6: .line 136
            goto 9
      StackMap locals: org.jdbi.v3.core.Handle java.util.List int
      StackMap stack: java.lang.Exception
         7: astore 3 /* e */
        start local 3 // java.lang.Exception e
         8: .line 137
            aload 1 /* suppressed */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Exception e
         9: .line 141
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.extensionMethod:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
        10: .line 142
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.config:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.remove:()V
        11: .line 144
            iload 2 /* wasInTransaction */
            ifeq 16
        12: .line 146
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.rollback:()Lorg/jdbi/v3/core/Handle;
            pop
        13: .line 147
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Exception
        14: astore 3 /* e */
        start local 3 // java.lang.Exception e
        15: .line 148
            aload 1 /* suppressed */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Exception e
        16: .line 153
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.statementBuilder:Lorg/jdbi/v3/core/statement/StatementBuilder;
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.getConnection:()Ljava/sql/Connection;
            invokeinterface org.jdbi.v3.core.statement.StatementBuilder.close:(Ljava/sql/Connection;)V
        17: .line 154
            goto 20
      StackMap locals:
      StackMap stack: java.lang.Exception
        18: astore 3 /* e */
        start local 3 // java.lang.Exception e
        19: .line 155
            aload 1 /* suppressed */
            aload 3 /* e */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.Exception e
        20: .line 159
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.closer:Lorg/jdbi/v3/core/Handle$ConnectionCloser;
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            invokeinterface org.jdbi.v3.core.Handle$ConnectionCloser.close:(Ljava/sql/Connection;)V
        21: .line 161
            aload 1 /* suppressed */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 25
        22: .line 162
            aload 1 /* suppressed */
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast java.lang.Throwable
            astore 3 /* original */
        start local 3 // java.lang.Throwable original
        23: .line 163
            aload 1 /* suppressed */
            aload 3 /* original */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Ljava/lang/Throwable;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/lang/Throwable.addSuppressed(Ljava/lang/Throwable;)V (5)
                  (Ljava/lang/Throwable;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        24: .line 164
            new org.jdbi.v3.core.CloseException
            dup
            ldc "Failed to clear transaction status on close"
            aload 3 /* original */
            invokespecial org.jdbi.v3.core.CloseException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Throwable original
        25: .line 166
      StackMap locals:
      StackMap stack:
            iload 2 /* wasInTransaction */
            ifeq 35
        26: .line 167
            new org.jdbi.v3.core.transaction.TransactionException
            dup
            ldc "Improper transaction handling detected: A Handle with an open transaction was closed. Transactions must be explicitly committed or rolled back before closing the Handle. Jdbi has rolled back this transaction automatically. This check may be disabled by calling getConfig(Handles.class).setForceEndTransactions(false)."
            invokespecial org.jdbi.v3.core.transaction.TransactionException.<init>:(Ljava/lang/String;)V
            athrow
        27: .line 173
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 3 /* e */
        start local 3 // java.sql.SQLException e
        28: .line 174
            new org.jdbi.v3.core.CloseException
            dup
            ldc "Unable to close Connection"
            aload 3 /* e */
            invokespecial org.jdbi.v3.core.CloseException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            astore 4 /* ce */
        start local 4 // org.jdbi.v3.core.CloseException ce
        29: .line 175
            aload 1 /* suppressed */
            aload 4 /* ce */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lorg/jdbi/v3/core/CloseException;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  java/lang/Throwable.addSuppressed(Ljava/lang/Throwable;)V (5)
                  (Ljava/lang/Throwable;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
        30: .line 176
            aload 4 /* ce */
            athrow
        end local 4 // org.jdbi.v3.core.CloseException ce
        end local 3 // java.sql.SQLException e
        31: .line 177
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        32: .line 178
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] released"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        33: .line 179
            aload 0 /* this */
            iconst_1
            putfield org.jdbi.v3.core.Handle.closed:Z
        34: .line 180
            aload 6
            athrow
        35: .line 178
      StackMap locals:
      StackMap stack:
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] released"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 179
            aload 0 /* this */
            iconst_1
            putfield org.jdbi.v3.core.Handle.closed:Z
        37: .line 181
            return
        end local 2 // boolean wasInTransaction
        end local 1 // java.util.List suppressed
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   38     0              this  Lorg/jdbi/v3/core/Handle;
            1   38     1        suppressed  Ljava/util/List<Ljava/lang/Throwable;>;
            4   38     2  wasInTransaction  Z
            8    9     3                 e  Ljava/lang/Exception;
           15   16     3                 e  Ljava/lang/Exception;
           19   20     3                 e  Ljava/lang/Exception;
           23   25     3          original  Ljava/lang/Throwable;
           28   31     3                 e  Ljava/sql/SQLException;
           29   31     4                ce  Lorg/jdbi/v3/core/CloseException;
      Exception table:
        from    to  target  type
           5     6       7  Class java.lang.Exception
          12    13      14  Class java.lang.Exception
          16    17      18  Class java.lang.Exception
          20    27      27  Class java.sql.SQLException
          20    31      31  any

  public boolean isClosed();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 187
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.closed:Z
            ireturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.statement.Query select(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Lorg/jdbi/v3/core/statement/Query;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 197
            aload 0 /* this */
            aload 1 /* sql */
            invokevirtual org.jdbi.v3.core.Handle.createQuery:(Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Query;
            astore 3 /* query */
        start local 3 // org.jdbi.v3.core.statement.Query query
         1: .line 198
            iconst_0
            istore 4 /* position */
        start local 4 // int position
         2: .line 199
            aload 2 /* args */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] org.jdbi.v3.core.statement.Query int top int int java.lang.Object[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* arg */
        start local 5 // java.lang.Object arg
         4: .line 200
            aload 3 /* query */
            iload 4 /* position */
            iinc 4 /* position */ 1
            aload 5 /* arg */
            invokevirtual org.jdbi.v3.core.statement.Query.bind:(ILjava/lang/Object;)Lorg/jdbi/v3/core/statement/SqlStatement;
            pop
        end local 5 // java.lang.Object arg
         5: .line 199
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 3
         7: .line 202
            aload 3 /* query */
            areturn
        end local 4 // int position
        end local 3 // org.jdbi.v3.core.statement.Query query
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jdbi/v3/core/Handle;
            0    8     1       sql  Ljava/lang/String;
            0    8     2      args  [Ljava/lang/Object;
            1    8     3     query  Lorg/jdbi/v3/core/statement/Query;
            2    8     4  position  I
            4    5     5       arg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      sql   
      args  

  public int execute(java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/Object;)I
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
        start local 2 // java.lang.Object[] args
         0: .line 214
            aload 0 /* this */
            aload 1 /* sql */
            invokevirtual org.jdbi.v3.core.Handle.createUpdate:(Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Update;
            astore 3 /* stmt */
        start local 3 // org.jdbi.v3.core.statement.Update stmt
         1: .line 215
            iconst_0
            istore 4 /* position */
        start local 4 // int position
         2: .line 216
            aload 2 /* args */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 6
      StackMap locals: org.jdbi.v3.core.Handle java.lang.String java.lang.Object[] org.jdbi.v3.core.statement.Update int top int int java.lang.Object[]
      StackMap stack:
         3: aload 8
            iload 6
            aaload
            astore 5 /* arg */
        start local 5 // java.lang.Object arg
         4: .line 217
            aload 3 /* stmt */
            iload 4 /* position */
            iinc 4 /* position */ 1
            aload 5 /* arg */
            invokevirtual org.jdbi.v3.core.statement.Update.bind:(ILjava/lang/Object;)Lorg/jdbi/v3/core/statement/SqlStatement;
            pop
        end local 5 // java.lang.Object arg
         5: .line 216
            iinc 6 1
      StackMap locals:
      StackMap stack:
         6: iload 6
            iload 7
            if_icmplt 3
         7: .line 219
            aload 3 /* stmt */
            invokevirtual org.jdbi.v3.core.statement.Update.execute:()I
            ireturn
        end local 4 // int position
        end local 3 // org.jdbi.v3.core.statement.Update stmt
        end local 2 // java.lang.Object[] args
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jdbi/v3/core/Handle;
            0    8     1       sql  Ljava/lang/String;
            0    8     2      args  [Ljava/lang/Object;
            1    8     3      stmt  Lorg/jdbi/v3/core/statement/Update;
            2    8     4  position  I
            4    5     5       arg  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      sql   
      args  

  public org.jdbi.v3.core.statement.Batch createBatch();
    descriptor: ()Lorg/jdbi/v3/core/statement/Batch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 228
            new org.jdbi.v3.core.statement.Batch
            dup
            aload 0 /* this */
            invokespecial org.jdbi.v3.core.statement.Batch.<init>:(Lorg/jdbi/v3/core/Handle;)V
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.statement.PreparedBatch prepareBatch(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/PreparedBatch;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
         0: .line 239
            new org.jdbi.v3.core.statement.PreparedBatch
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.jdbi.v3.core.statement.PreparedBatch.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;
            0    1     1   sql  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sql   

  public org.jdbi.v3.core.statement.Call createCall(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Call;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
         0: .line 250
            new org.jdbi.v3.core.statement.Call
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.jdbi.v3.core.statement.Call.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;
            0    1     1   sql  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sql   

  public org.jdbi.v3.core.statement.Query createQuery(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Query;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
         0: .line 260
            new org.jdbi.v3.core.statement.Query
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.jdbi.v3.core.statement.Query.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;
            0    1     1   sql  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sql   

  public org.jdbi.v3.core.statement.Script createScript(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Script;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
         0: .line 271
            new org.jdbi.v3.core.statement.Script
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.jdbi.v3.core.statement.Script.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;
            0    1     1   sql  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sql   

  public org.jdbi.v3.core.statement.Update createUpdate(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/statement/Update;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String sql
         0: .line 282
            new org.jdbi.v3.core.statement.Update
            dup
            aload 0 /* this */
            aload 1 /* sql */
            invokespecial org.jdbi.v3.core.statement.Update.<init>:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String sql
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;
            0    1     1   sql  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      sql   

  public boolean isInTransaction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 290
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.isInTransaction:(Lorg/jdbi/v3/core/Handle;)Z
            ireturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.Handle begin();
    descriptor: ()Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 299
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.begin:(Lorg/jdbi/v3/core/Handle;)V
         1: .line 300
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] begin transaction"
            aload 0 /* this */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 301
            aload 0 /* this */
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jdbi/v3/core/Handle;

  public org.jdbi.v3.core.Handle commit();
    descriptor: ()Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 310
            invokestatic java.lang.System.nanoTime:()J
            lstore 1 /* start */
        start local 1 // long start
         1: .line 311
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.commit:(Lorg/jdbi/v3/core/Handle;)V
         2: .line 312
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] commit transaction in {}ms"
            aload 0 /* this */
            lload 1 /* start */
            invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 313
            aload 0 /* this */
            areturn
        end local 1 // long start
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jdbi/v3/core/Handle;
            1    4     1  start  J

  public org.jdbi.v3.core.Handle rollback();
    descriptor: ()Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 322
            invokestatic java.lang.System.nanoTime:()J
            lstore 1 /* start */
        start local 1 // long start
         1: .line 323
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.rollback:(Lorg/jdbi/v3/core/Handle;)V
         2: .line 324
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] rollback transaction in {}ms"
            aload 0 /* this */
            lload 1 /* start */
            invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 325
            aload 0 /* this */
            areturn
        end local 1 // long start
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/jdbi/v3/core/Handle;
            1    4     1  start  J

  public org.jdbi.v3.core.Handle rollbackToSavepoint(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String savepointName
         0: .line 336
            invokestatic java.lang.System.nanoTime:()J
            lstore 2 /* start */
        start local 2 // long start
         1: .line 337
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            aload 1 /* savepointName */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.rollbackToSavepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
         2: .line 338
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] rollback to savepoint \"{}\" in {}ms"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 1 /* savepointName */
            aastore
            dup
            iconst_2
            lload 2 /* start */
            invokestatic org.jdbi.v3.core.Handle.msSince:(J)J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;[Ljava/lang/Object;)V
         3: .line 339
            aload 0 /* this */
            areturn
        end local 2 // long start
        end local 1 // java.lang.String savepointName
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/jdbi/v3/core/Handle;
            0    4     1  savepointName  Ljava/lang/String;
            1    4     2          start  J
    MethodParameters:
               Name  Flags
      savepointName  

  private static long msSince(long);
    descriptor: (J)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // long start
         0: .line 343
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic java.lang.System.nanoTime:()J
            lload 0 /* start */
            lsub
            getstatic java.util.concurrent.TimeUnit.NANOSECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.TimeUnit.convert:(JLjava/util/concurrent/TimeUnit;)J
            lreturn
        end local 0 // long start
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  start  J
    MethodParameters:
       Name  Flags
      start  final

  public org.jdbi.v3.core.Handle savepoint(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String name
         0: .line 353
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            aload 1 /* name */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.savepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
         1: .line 354
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] savepoint \"{}\""
            aload 0 /* this */
            aload 1 /* name */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 355
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/jdbi/v3/core/Handle;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public org.jdbi.v3.core.Handle release(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.String savepointName
         0: .line 365
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            aload 1 /* savepointName */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.releaseSavepoint:(Lorg/jdbi/v3/core/Handle;Ljava/lang/String;)V
         1: .line 366
            getstatic org.jdbi.v3.core.Handle.LOG:Lorg/slf4j/Logger;
            ldc "Handle [{}] release savepoint \"{}\""
            aload 0 /* this */
            aload 1 /* savepointName */
            invokeinterface org.slf4j.Logger.trace:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 367
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String savepointName
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lorg/jdbi/v3/core/Handle;
            0    3     1  savepointName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      savepointName  

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 376
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.isReadOnly:()Z
         1: ireturn
         2: .line 377
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 1 /* e */
        start local 1 // java.sql.SQLException e
         3: .line 378
            new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
            dup
            ldc "Could not getReadOnly"
            aload 1 /* e */
            invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
            athrow
        end local 1 // java.sql.SQLException e
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jdbi/v3/core/Handle;
            3    4     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.sql.SQLException

  public org.jdbi.v3.core.Handle setReadOnly(boolean);
    descriptor: (Z)Lorg/jdbi/v3/core/Handle;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // boolean readOnly
         0: .line 394
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            iload 1 /* readOnly */
            invokeinterface java.sql.Connection.setReadOnly:(Z)V
         1: .line 395
            goto 4
      StackMap locals:
      StackMap stack: java.sql.SQLException
         2: astore 2 /* e */
        start local 2 // java.sql.SQLException e
         3: .line 396
            new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
            dup
            ldc "Could not setReadOnly"
            aload 2 /* e */
            invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
            athrow
        end local 2 // java.sql.SQLException e
         4: .line 398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // boolean readOnly
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jdbi/v3/core/Handle;
            0    5     1  readOnly  Z
            3    4     2         e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.sql.SQLException
    MethodParameters:
          Name  Flags
      readOnly  

  public <R, X extends java.lang.Exception> R inTransaction(org.jdbi.v3.core.HandleCallback<R, X>) throws X;
    descriptor: (Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.HandleCallback callback
         0: .line 413
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
            ifeq 2
         1: .line 414
            aload 1 /* callback */
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.HandleCallback.withHandle:(Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
            goto 3
         2: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            aload 1 /* callback */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.inTransaction:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
         3: .line 413
      StackMap locals:
      StackMap stack: java.lang.Object
            areturn
        end local 1 // org.jdbi.v3.core.HandleCallback callback
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/jdbi/v3/core/Handle;
            0    4     1  callback  Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;
    Exceptions:
      throws java.lang.Exception
    Signature: <R:Ljava/lang/Object;X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;)TR;^TX;
    MethodParameters:
          Name  Flags
      callback  

  public <X extends java.lang.Exception> void useTransaction(org.jdbi.v3.core.HandleConsumer<X>) throws X;
    descriptor: (Lorg/jdbi/v3/core/HandleConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.HandleConsumer callback
         0: .line 427
            aload 0 /* this */
            aload 1 /* callback */
            invokedynamic withHandle(Lorg/jdbi/v3/core/HandleConsumer;)Lorg/jdbi/v3/core/HandleCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
                  org/jdbi/v3/core/Handle.lambda$3(Lorg/jdbi/v3/core/HandleConsumer;Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object; (6)
                  (Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
            invokevirtual org.jdbi.v3.core.Handle.inTransaction:(Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
            pop
         1: .line 431
            return
        end local 1 // org.jdbi.v3.core.HandleConsumer callback
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jdbi/v3/core/Handle;
            0    2     1  callback  Lorg/jdbi/v3/core/HandleConsumer<TX;>;
    Exceptions:
      throws java.lang.Exception
    Signature: <X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/HandleConsumer<TX;>;)V^TX;
    MethodParameters:
          Name  Flags
      callback  final

  public <R, X extends java.lang.Exception> R inTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel, org.jdbi.v3.core.HandleCallback<R, X>) throws X;
    descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
        start local 2 // org.jdbi.v3.core.HandleCallback callback
         0: .line 451
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.isInTransaction:()Z
            ifeq 9
         1: .line 452
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.getTransactionIsolationLevel:()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            astore 3 /* currentLevel */
        start local 3 // org.jdbi.v3.core.transaction.TransactionIsolationLevel currentLevel
         2: .line 453
            aload 3 /* currentLevel */
            aload 1 /* level */
            if_acmpeq 8
            aload 1 /* level */
            getstatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.UNKNOWN:Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            if_acmpeq 8
         3: .line 454
            new org.jdbi.v3.core.transaction.TransactionException
            dup
         4: .line 455
            new java.lang.StringBuilder
            dup
            ldc "Tried to execute nested transaction with isolation level "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* level */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 456
            ldc "but already running in a transaction with isolation level "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* currentLevel */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 455
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 454
            invokespecial org.jdbi.v3.core.transaction.TransactionException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 458
      StackMap locals: org.jdbi.v3.core.transaction.TransactionIsolationLevel
      StackMap stack:
            aload 2 /* callback */
            aload 0 /* this */
            invokeinterface org.jdbi.v3.core.HandleCallback.withHandle:(Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
            areturn
        end local 3 // org.jdbi.v3.core.transaction.TransactionIsolationLevel currentLevel
         9: .line 461
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3
            aconst_null
            astore 4
        10: new org.jdbi.v3.core.Handle$TransactionResetter
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.jdbi.v3.core.Handle.getTransactionIsolationLevel:()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            invokespecial org.jdbi.v3.core.Handle$TransactionResetter.<init>:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
            astore 5 /* tr */
        start local 5 // org.jdbi.v3.core.Handle$TransactionResetter tr
        11: .line 462
            aload 0 /* this */
            aload 1 /* level */
            invokevirtual org.jdbi.v3.core.Handle.setTransactionIsolation:(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
        12: .line 463
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.transactions:Lorg/jdbi/v3/core/transaction/TransactionHandler;
            aload 0 /* this */
            aload 1 /* level */
            aload 2 /* callback */
            invokeinterface org.jdbi.v3.core.transaction.TransactionHandler.inTransaction:(Lorg/jdbi/v3/core/Handle;Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
        13: .line 464
            aload 5 /* tr */
            ifnull 14
            aload 5 /* tr */
            invokevirtual org.jdbi.v3.core.Handle$TransactionResetter.close:()V
        14: .line 463
      StackMap locals: org.jdbi.v3.core.Handle org.jdbi.v3.core.transaction.TransactionIsolationLevel org.jdbi.v3.core.HandleCallback java.lang.Throwable java.lang.Throwable org.jdbi.v3.core.Handle$TransactionResetter
      StackMap stack: java.lang.Object
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 3
        16: .line 464
            aload 5 /* tr */
            ifnull 17
            aload 5 /* tr */
            invokevirtual org.jdbi.v3.core.Handle$TransactionResetter.close:()V
        end local 5 // org.jdbi.v3.core.Handle$TransactionResetter tr
      StackMap locals:
      StackMap stack:
        17: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 4
            aload 3
            ifnonnull 19
            aload 4
            astore 3
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 3
            aload 4
            if_acmpeq 20
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 3
            athrow
        end local 2 // org.jdbi.v3.core.HandleCallback callback
        end local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Lorg/jdbi/v3/core/Handle;
            0   21     1         level  Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            0   21     2      callback  Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;
            2    9     3  currentLevel  Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
           11   17     5            tr  Lorg/jdbi/v3/core/Handle$TransactionResetter;
      Exception table:
        from    to  target  type
          11    13      15  any
          10    14      18  any
          15    18      18  any
    Exceptions:
      throws java.lang.Exception
    Signature: <R:Ljava/lang/Object;X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback<TR;TX;>;)TR;^TX;
    MethodParameters:
          Name  Flags
      level     
      callback  

  public <X extends java.lang.Exception> void useTransaction(org.jdbi.v3.core.transaction.TransactionIsolationLevel, org.jdbi.v3.core.HandleConsumer<X>) throws X;
    descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleConsumer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
        start local 2 // org.jdbi.v3.core.HandleConsumer callback
         0: .line 481
            aload 0 /* this */
            aload 1 /* level */
            aload 2 /* callback */
            invokedynamic withHandle(Lorg/jdbi/v3/core/HandleConsumer;)Lorg/jdbi/v3/core/HandleCallback;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
                  org/jdbi/v3/core/Handle.lambda$4(Lorg/jdbi/v3/core/HandleConsumer;Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object; (6)
                  (Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
            invokevirtual org.jdbi.v3.core.Handle.inTransaction:(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleCallback;)Ljava/lang/Object;
            pop
         1: .line 485
            return
        end local 2 // org.jdbi.v3.core.HandleConsumer callback
        end local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jdbi/v3/core/Handle;
            0    2     1     level  Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            0    2     2  callback  Lorg/jdbi/v3/core/HandleConsumer<TX;>;
    Exceptions:
      throws java.lang.Exception
    Signature: <X:Ljava/lang/Exception;>(Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;Lorg/jdbi/v3/core/HandleConsumer<TX;>;)V^TX;
    MethodParameters:
          Name  Flags
      level     
      callback  

  public void setTransactionIsolation(org.jdbi.v3.core.transaction.TransactionIsolationLevel);
    descriptor: (Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
         0: .line 495
            aload 1 /* level */
            getstatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.UNKNOWN:Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
            if_acmpeq 2
         1: .line 496
            aload 0 /* this */
            aload 1 /* level */
            invokevirtual org.jdbi.v3.core.transaction.TransactionIsolationLevel.intValue:()I
            invokevirtual org.jdbi.v3.core.Handle.setTransactionIsolation:(I)V
         2: .line 498
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jdbi.v3.core.transaction.TransactionIsolationLevel level
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/jdbi/v3/core/Handle;
            0    3     1  level  Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
    MethodParameters:
       Name  Flags
      level  

  public void setTransactionIsolation(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // int level
         0: .line 507
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.getTransactionIsolation:()I
            iload 1 /* level */
            if_icmpeq 5
         1: .line 508
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            iload 1 /* level */
            invokeinterface java.sql.Connection.setTransactionIsolation:(I)V
         2: .line 510
            goto 5
      StackMap locals:
      StackMap stack: java.sql.SQLException
         3: astore 2 /* e */
        start local 2 // java.sql.SQLException e
         4: .line 511
            new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
            dup
            iload 1 /* level */
            aload 2 /* e */
            invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(ILjava/sql/SQLException;)V
            athrow
        end local 2 // java.sql.SQLException e
         5: .line 513
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int level
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/jdbi/v3/core/Handle;
            0    6     1  level  I
            4    5     2      e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.sql.SQLException
    MethodParameters:
       Name  Flags
      level  

  public org.jdbi.v3.core.transaction.TransactionIsolationLevel getTransactionIsolationLevel();
    descriptor: ()Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 522
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.connection:Ljava/sql/Connection;
            invokeinterface java.sql.Connection.getTransactionIsolation:()I
            invokestatic org.jdbi.v3.core.transaction.TransactionIsolationLevel.valueOf:(I)Lorg/jdbi/v3/core/transaction/TransactionIsolationLevel;
         1: areturn
         2: .line 523
      StackMap locals:
      StackMap stack: java.sql.SQLException
            astore 1 /* e */
        start local 1 // java.sql.SQLException e
         3: .line 524
            new org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException
            dup
            ldc "unable to access current setting"
            aload 1 /* e */
            invokespecial org.jdbi.v3.core.transaction.UnableToManipulateTransactionIsolationLevelException.<init>:(Ljava/lang/String;Ljava/sql/SQLException;)V
            athrow
        end local 1 // java.sql.SQLException e
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jdbi/v3/core/Handle;
            3    4     1     e  Ljava/sql/SQLException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.sql.SQLException

  public <T> T attach(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.jdbi.v3.core.Handle this
        start local 1 // java.lang.Class extensionType
         0: .line 537
            aload 0 /* this */
            ldc Lorg/jdbi/v3/core/extension/Extensions;
            invokevirtual org.jdbi.v3.core.Handle.getConfig:(Ljava/lang/Class;)Lorg/jdbi/v3/core/config/JdbiConfig;
            checkcast org.jdbi.v3.core.extension.Extensions
         1: .line 538
            aload 1 /* extensionType */
            aload 0 /* this */
            invokestatic org.jdbi.v3.core.ConstantHandleSupplier.of:(Lorg/jdbi/v3/core/Handle;)Lorg/jdbi/v3/core/extension/HandleSupplier;
            invokevirtual org.jdbi.v3.core.extension.Extensions.findFor:(Ljava/lang/Class;Lorg/jdbi/v3/core/extension/HandleSupplier;)Ljava/util/Optional;
         2: .line 539
            aload 1 /* extensionType */
            invokedynamic get(Ljava/lang/Class;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  org/jdbi/v3/core/Handle.lambda$5(Ljava/lang/Class;)Lorg/jdbi/v3/core/extension/NoSuchExtensionException; (6)
                  ()Lorg/jdbi/v3/core/extension/NoSuchExtensionException;
            invokevirtual java.util.Optional.orElseThrow:(Ljava/util/function/Supplier;)Ljava/lang/Object;
         3: .line 537
            areturn
        end local 1 // java.lang.Class extensionType
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/jdbi/v3/core/Handle;
            0    4     1  extensionType  Ljava/lang/Class<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
               Name  Flags
      extensionType  

  public org.jdbi.v3.core.extension.ExtensionMethod getExtensionMethod();
    descriptor: ()Lorg/jdbi/v3/core/extension/ExtensionMethod;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jdbi.v3.core.Handle this
         0: .line 546
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.extensionMethod:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast org.jdbi.v3.core.extension.ExtensionMethod
            areturn
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jdbi/v3/core/Handle;

  void setExtensionMethod(org.jdbi.v3.core.extension.ExtensionMethod);
    descriptor: (Lorg/jdbi/v3/core/extension/ExtensionMethod;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // org.jdbi.v3.core.extension.ExtensionMethod extensionMethod
         0: .line 550
            aload 0 /* this */
            getfield org.jdbi.v3.core.Handle.extensionMethod:Ljava/lang/ThreadLocal;
            aload 1 /* extensionMethod */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         1: .line 551
            return
        end local 1 // org.jdbi.v3.core.extension.ExtensionMethod extensionMethod
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jdbi/v3/core/Handle;
            0    2     1  extensionMethod  Lorg/jdbi/v3/core/extension/ExtensionMethod;
    MethodParameters:
                 Name  Flags
      extensionMethod  

  void setExtensionMethodThreadLocal(java.lang.ThreadLocal<org.jdbi.v3.core.extension.ExtensionMethod>);
    descriptor: (Ljava/lang/ThreadLocal;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jdbi.v3.core.Handle this
        start local 1 // java.lang.ThreadLocal extensionMethod
         0: .line 554
            aload 0 /* this */
            aload 1 /* extensionMethod */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.ThreadLocal
            putfield org.jdbi.v3.core.Handle.extensionMethod:Ljava/lang/ThreadLocal;
         1: .line 555
            return
        end local 1 // java.lang.ThreadLocal extensionMethod
        end local 0 // org.jdbi.v3.core.Handle this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lorg/jdbi/v3/core/Handle;
            0    2     1  extensionMethod  Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;
    Signature: (Ljava/lang/ThreadLocal<Lorg/jdbi/v3/core/extension/ExtensionMethod;>;)V
    MethodParameters:
                 Name  Flags
      extensionMethod  

  private static org.jdbi.v3.core.config.ConfigRegistry lambda$0(org.jdbi.v3.core.config.ConfigRegistry);
    descriptor: (Lorg/jdbi/v3/core/config/ConfigRegistry;)Lorg/jdbi/v3/core/config/ConfigRegistry;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 73
            aload 0
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.Object lambda$3(org.jdbi.v3.core.HandleConsumer, org.jdbi.v3.core.Handle);
    descriptor: (Lorg/jdbi/v3/core/HandleConsumer;Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.jdbi.v3.core.Handle handle
         0: .line 428
            aload 0
            aload 1 /* handle */
            invokeinterface org.jdbi.v3.core.HandleConsumer.useHandle:(Lorg/jdbi/v3/core/Handle;)V
         1: .line 429
            aconst_null
            areturn
        end local 1 // org.jdbi.v3.core.Handle handle
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     1  handle  Lorg/jdbi/v3/core/Handle;
    Exceptions:
      throws java.lang.Exception

  private static java.lang.Object lambda$4(org.jdbi.v3.core.HandleConsumer, org.jdbi.v3.core.Handle);
    descriptor: (Lorg/jdbi/v3/core/HandleConsumer;Lorg/jdbi/v3/core/Handle;)Ljava/lang/Object;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.jdbi.v3.core.Handle handle
         0: .line 482
            aload 0
            aload 1 /* handle */
            invokeinterface org.jdbi.v3.core.HandleConsumer.useHandle:(Lorg/jdbi/v3/core/Handle;)V
         1: .line 483
            aconst_null
            areturn
        end local 1 // org.jdbi.v3.core.Handle handle
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     1  handle  Lorg/jdbi/v3/core/Handle;
    Exceptions:
      throws java.lang.Exception

  private static org.jdbi.v3.core.extension.NoSuchExtensionException lambda$5(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/jdbi/v3/core/extension/NoSuchExtensionException;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=1, args_size=1
         0: .line 539
            new org.jdbi.v3.core.extension.NoSuchExtensionException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Extension not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.jdbi.v3.core.extension.NoSuchExtensionException.<init>:(Ljava/lang/String;)V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/io/Closeable;Lorg/jdbi/v3/core/config/Configurable<Lorg/jdbi/v3/core/Handle;>;
SourceFile: "Handle.java"
NestMembers:
  org.jdbi.v3.core.Handle$ConnectionCloser  org.jdbi.v3.core.Handle$TransactionResetter
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  abstract ConnectionCloser = org.jdbi.v3.core.Handle$ConnectionCloser of org.jdbi.v3.core.Handle
  private TransactionResetter = org.jdbi.v3.core.Handle$TransactionResetter of org.jdbi.v3.core.Handle