public abstract class io.vertx.ext.asyncsql.impl.BaseSQLClient
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: io.vertx.ext.asyncsql.impl.BaseSQLClient
  super_class: java.lang.Object
{
  protected final io.vertx.core.logging.Logger log;
    descriptor: Lio/vertx/core/logging/Logger;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  protected final io.vertx.core.json.JsonObject globalConfig;
    descriptor: Lio/vertx/core/json/JsonObject;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  public void <init>(io.vertx.core.Vertx, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.json.JsonObject globalConfig
         0: .line 54
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 49
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic io.vertx.core.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/logging/Logger;
            putfield io.vertx.ext.asyncsql.impl.BaseSQLClient.log:Lio/vertx/core/logging/Logger;
         2: .line 55
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.ext.asyncsql.impl.BaseSQLClient.vertx:Lio/vertx/core/Vertx;
         3: .line 56
            aload 0 /* this */
            aload 2 /* globalConfig */
            putfield io.vertx.ext.asyncsql.impl.BaseSQLClient.globalConfig:Lio/vertx/core/json/JsonObject;
         4: .line 57
            return
        end local 2 // io.vertx.core.json.JsonObject globalConfig
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0    5     1         vertx  Lio/vertx/core/Vertx;
            0    5     2  globalConfig  Lio/vertx/core/json/JsonObject;
    MethodParameters:
              Name  Flags
      vertx         
      globalConfig  

  protected abstract io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool pool();
    descriptor: ()Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  protected abstract io.vertx.ext.sql.SQLConnection createFromPool(com.github.mauricio.async.db.Connection, io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool, scala.concurrent.ExecutionContext);
    descriptor: (Lcom/github/mauricio/async/db/Connection;Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;Lscala/concurrent/ExecutionContext;)Lio/vertx/ext/sql/SQLConnection;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
      Name  Flags
      conn  
      pool  
      ec    

  public void getConnection(io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.ext.sql.SQLConnection>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 1 // io.vertx.core.Handler handler
         0: .line 64
            aload 0 /* this */
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.pool:()Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;
            aload 0 /* this */
            aload 1 /* handler */
            invokedynamic handle(Lio/vertx/ext/asyncsql/impl/BaseSQLClient;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              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
                  io/vertx/ext/asyncsql/impl/BaseSQLClient.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool.take:(Lio/vertx/core/Handler;)V
         1: .line 73
            return
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0    2     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/SQLConnection;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/ext/sql/SQLConnection;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public void close(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 1 // io.vertx.core.Handler handler
         0: .line 76
            aload 0 /* this */
            getfield io.vertx.ext.asyncsql.impl.BaseSQLClient.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Stopping async SQL client "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;)V
         1: .line 77
            aload 0 /* this */
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.pool:()Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;
            aload 1 /* handler */
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              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
                  io/vertx/ext/asyncsql/impl/BaseSQLClient.lambda$1(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool.close:(Lio/vertx/core/Handler;)V
         2: .line 89
            return
        end local 1 // io.vertx.core.Handler handler
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0    3     1  handler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
         Name  Flags
      handler  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
         0: .line 92
            aload 0 /* this */
            aconst_null
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.close:(Lio/vertx/core/Handler;)V
         1: .line 93
            return
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;

  protected com.github.mauricio.async.db.Configuration getConnectionConfiguration(java.lang.String, int, java.lang.String, java.lang.String, java.lang.String, java.lang.String, long, long, io.vertx.core.json.JsonObject);
    descriptor: (Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JJLio/vertx/core/json/JsonObject;)Lcom/github/mauricio/async/db/Configuration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=15, locals=25, args_size=10
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 1 // java.lang.String defaultHost
        start local 2 // int defaultPort
        start local 3 // java.lang.String defaultDatabase
        start local 4 // java.lang.String defaultUser
        start local 5 // java.lang.String defaultPassword
        start local 6 // java.lang.String defaultCharset
        start local 7 // long defaultConnectTimeout
        start local 9 // long defaultTestTimeout
        start local 11 // io.vertx.core.json.JsonObject config
         0: .line 106
            aload 11 /* config */
            ldc "host"
            aload 1 /* defaultHost */
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 12 /* host */
        start local 12 // java.lang.String host
         1: .line 107
            aload 11 /* config */
            ldc "port"
            iload 2 /* defaultPort */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;Ljava/lang/Integer;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* port */
        start local 13 // int port
         2: .line 108
            aload 11 /* config */
            ldc "username"
            aload 4 /* defaultUser */
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 14 /* username */
        start local 14 // java.lang.String username
         3: .line 109
            aload 11 /* config */
            ldc "password"
            aload 5 /* defaultPassword */
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* password */
        start local 15 // java.lang.String password
         4: .line 110
            aload 11 /* config */
            ldc "database"
            aload 3 /* defaultDatabase */
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* database */
        start local 16 // java.lang.String database
         5: .line 111
            aload 11 /* config */
            ldc "charset"
            aload 6 /* defaultCharset */
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.nio.charset.Charset.forName:(Ljava/lang/String;)Ljava/nio/charset/Charset;
            astore 17 /* charset */
        start local 17 // java.nio.charset.Charset charset
         6: .line 112
            aload 11 /* config */
            ldc "connectTimeout"
            lload 7 /* defaultConnectTimeout */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 18 /* connectTimeout */
        start local 18 // long connectTimeout
         7: .line 113
            aload 11 /* config */
            ldc "testTimeout"
            lload 9 /* defaultTestTimeout */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lstore 20 /* testTimeout */
        start local 20 // long testTimeout
         8: .line 114
            aload 11 /* config */
            ldc "queryTimeout"
            invokevirtual io.vertx.core.json.JsonObject.getLong:(Ljava/lang/String;)Ljava/lang/Long;
            astore 22 /* queryTimeout */
        start local 22 // java.lang.Long queryTimeout
         9: .line 115
            aload 22 /* queryTimeout */
            ifnonnull 11
        10: .line 116
            invokestatic scala.Option.empty:()Lscala/Option;
            goto 12
      StackMap locals: io.vertx.ext.asyncsql.impl.BaseSQLClient java.lang.String int java.lang.String java.lang.String java.lang.String java.lang.String long long io.vertx.core.json.JsonObject java.lang.String int java.lang.String java.lang.String java.lang.String java.nio.charset.Charset long long java.lang.Long
      StackMap stack:
        11: aload 22 /* queryTimeout */
            invokevirtual java.lang.Long.longValue:()J
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic scala.concurrent.duration.Duration.apply:(JLjava/util/concurrent/TimeUnit;)Lscala/concurrent/duration/FiniteDuration;
            invokestatic scala.Option.apply:(Ljava/lang/Object;)Lscala/Option;
        12: .line 115
      StackMap locals:
      StackMap stack: scala.Option
            astore 23 /* queryTimeoutOption */
        start local 23 // scala.Option queryTimeoutOption
        13: .line 118
            aload 0 /* this */
            aload 11 /* config */
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.buildSslConfig:(Lio/vertx/core/json/JsonObject;)Lscala/collection/immutable/Map;
            astore 24 /* sslConfig */
        start local 24 // scala.collection.immutable.Map sslConfig
        14: .line 120
            aload 0 /* this */
            getfield io.vertx.ext.asyncsql.impl.BaseSQLClient.log:Lio/vertx/core/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Creating configuration for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 12 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 13 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.logging.Logger.info:(Ljava/lang/Object;)V
        15: .line 121
            new com.github.mauricio.async.db.Configuration
            dup
        16: .line 122
            aload 14 /* username */
        17: .line 123
            aload 12 /* host */
        18: .line 124
            iload 13 /* port */
        19: .line 125
            aload 15 /* password */
            invokestatic scala.Option.apply:(Ljava/lang/Object;)Lscala/Option;
        20: .line 126
            aload 16 /* database */
            invokestatic scala.Option.apply:(Ljava/lang/Object;)Lscala/Option;
        21: .line 127
            aload 24 /* sslConfig */
            invokestatic com.github.mauricio.async.db.SSLConfiguration.apply:(Lscala/collection/immutable/Map;)Lcom/github/mauricio/async/db/SSLConfiguration;
        22: .line 128
            aload 17 /* charset */
        23: .line 129
            ldc 16777216
        24: .line 130
            getstatic io.netty.buffer.PooledByteBufAllocator.DEFAULT:Lio/netty/buffer/PooledByteBufAllocator;
        25: .line 131
            lload 18 /* connectTimeout */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic scala.concurrent.duration.Duration.apply:(JLjava/util/concurrent/TimeUnit;)Lscala/concurrent/duration/FiniteDuration;
        26: .line 132
            lload 20 /* testTimeout */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokestatic scala.concurrent.duration.Duration.apply:(JLjava/util/concurrent/TimeUnit;)Lscala/concurrent/duration/FiniteDuration;
        27: .line 133
            aload 23 /* queryTimeoutOption */
        28: .line 121
            invokespecial com.github.mauricio.async.db.Configuration.<init>:(Ljava/lang/String;Ljava/lang/String;ILscala/Option;Lscala/Option;Lcom/github/mauricio/async/db/SSLConfiguration;Ljava/nio/charset/Charset;ILio/netty/buffer/ByteBufAllocator;Lscala/concurrent/duration/Duration;Lscala/concurrent/duration/Duration;Lscala/Option;)V
            areturn
        end local 24 // scala.collection.immutable.Map sslConfig
        end local 23 // scala.Option queryTimeoutOption
        end local 22 // java.lang.Long queryTimeout
        end local 20 // long testTimeout
        end local 18 // long connectTimeout
        end local 17 // java.nio.charset.Charset charset
        end local 16 // java.lang.String database
        end local 15 // java.lang.String password
        end local 14 // java.lang.String username
        end local 13 // int port
        end local 12 // java.lang.String host
        end local 11 // io.vertx.core.json.JsonObject config
        end local 9 // long defaultTestTimeout
        end local 7 // long defaultConnectTimeout
        end local 6 // java.lang.String defaultCharset
        end local 5 // java.lang.String defaultPassword
        end local 4 // java.lang.String defaultUser
        end local 3 // java.lang.String defaultDatabase
        end local 2 // int defaultPort
        end local 1 // java.lang.String defaultHost
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   29     0                   this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0   29     1            defaultHost  Ljava/lang/String;
            0   29     2            defaultPort  I
            0   29     3        defaultDatabase  Ljava/lang/String;
            0   29     4            defaultUser  Ljava/lang/String;
            0   29     5        defaultPassword  Ljava/lang/String;
            0   29     6         defaultCharset  Ljava/lang/String;
            0   29     7  defaultConnectTimeout  J
            0   29     9     defaultTestTimeout  J
            0   29    11                 config  Lio/vertx/core/json/JsonObject;
            1   29    12                   host  Ljava/lang/String;
            2   29    13                   port  I
            3   29    14               username  Ljava/lang/String;
            4   29    15               password  Ljava/lang/String;
            5   29    16               database  Ljava/lang/String;
            6   29    17                charset  Ljava/nio/charset/Charset;
            7   29    18         connectTimeout  J
            8   29    20            testTimeout  J
            9   29    22           queryTimeout  Ljava/lang/Long;
           13   29    23     queryTimeoutOption  Lscala/Option<Lscala/concurrent/duration/Duration;>;
           14   29    24              sslConfig  Lscala/collection/immutable/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
                       Name  Flags
      defaultHost            
      defaultPort            
      defaultDatabase        
      defaultUser            
      defaultPassword        
      defaultCharset         
      defaultConnectTimeout  
      defaultTestTimeout     
      config                 

  private scala.collection.immutable.Map<java.lang.String, java.lang.String> buildSslConfig(io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/json/JsonObject;)Lscala/collection/immutable/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 1 // io.vertx.core.json.JsonObject config
         0: .line 137
            getstatic scala.collection.Map$.MODULE$:Lscala/collection/Map$;
            invokevirtual scala.collection.Map$.empty:()Lscala/collection/immutable/Map;
            astore 2 /* sslConfig */
        start local 2 // scala.collection.immutable.Map sslConfig
         1: .line 138
            aload 1 /* config */
            ldc "sslMode"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 3
         2: .line 139
            aload 2 /* sslConfig */
            ldc "sslmode"
            aload 1 /* config */
            ldc "sslMode"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic scala.Tuple2.apply:(Ljava/lang/Object;Ljava/lang/Object;)Lscala/Tuple2;
            invokeinterface scala.collection.immutable.Map.$plus:(Lscala/Tuple2;)Lscala/collection/immutable/Map;
            astore 2 /* sslConfig */
         3: .line 141
      StackMap locals: scala.collection.immutable.Map
      StackMap stack:
            aload 1 /* config */
            ldc "sslRootCert"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 5
         4: .line 142
            aload 2 /* sslConfig */
            ldc "sslrootcert"
            aload 1 /* config */
            ldc "sslRootCert"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic scala.Tuple2.apply:(Ljava/lang/Object;Ljava/lang/Object;)Lscala/Tuple2;
            invokeinterface scala.collection.immutable.Map.$plus:(Lscala/Tuple2;)Lscala/collection/immutable/Map;
            astore 2 /* sslConfig */
         5: .line 144
      StackMap locals:
      StackMap stack:
            aload 2 /* sslConfig */
            areturn
        end local 2 // scala.collection.immutable.Map sslConfig
        end local 1 // io.vertx.core.json.JsonObject config
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0    6     1     config  Lio/vertx/core/json/JsonObject;
            1    6     2  sslConfig  Lscala/collection/immutable/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: (Lio/vertx/core/json/JsonObject;)Lscala/collection/immutable/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
        Name  Flags
      config  

  private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 65
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 5
         1: .line 66
            aload 0 /* this */
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.pool:()Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;
            astore 3 /* pool */
        start local 3 // io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool pool
         2: .line 67
            aload 0 /* this */
            getfield io.vertx.ext.asyncsql.impl.BaseSQLClient.vertx:Lio/vertx/core/Vertx;
            invokestatic io.vertx.ext.asyncsql.impl.VertxEventLoopExecutionContext.create:(Lio/vertx/core/Vertx;)Lscala/concurrent/ExecutionContext;
            astore 4 /* ec */
        start local 4 // scala.concurrent.ExecutionContext ec
         3: .line 68
            aload 1
            aload 0 /* this */
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast com.github.mauricio.async.db.Connection
            aload 3 /* pool */
            aload 4 /* ec */
            invokevirtual io.vertx.ext.asyncsql.impl.BaseSQLClient.createFromPool:(Lcom/github/mauricio/async/db/Connection;Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;Lscala/concurrent/ExecutionContext;)Lio/vertx/ext/sql/SQLConnection;
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 4 // scala.concurrent.ExecutionContext ec
        end local 3 // io.vertx.ext.asyncsql.impl.pool.AsyncConnectionPool pool
         4: .line 69
            goto 6
         5: .line 70
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 72
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.asyncsql.impl.BaseSQLClient this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lio/vertx/ext/asyncsql/impl/BaseSQLClient;
            0    7     2    ar  Lio/vertx/core/AsyncResult<Lcom/github/mauricio/async/db/Connection;>;
            2    4     3  pool  Lio/vertx/ext/asyncsql/impl/pool/AsyncConnectionPool;
            3    4     4    ec  Lscala/concurrent/ExecutionContext;

  private static void lambda$1(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 78
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 4
         1: .line 79
            aload 0
            ifnull 6
         2: .line 80
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 82
            goto 6
         4: .line 83
      StackMap locals:
      StackMap stack:
            aload 0
            ifnull 6
         5: .line 84
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         6: .line 87
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     1    ar  Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;
}
SourceFile: "BaseSQLClient.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles