public class io.vertx.ext.asyncsql.impl.ClientHelper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.asyncsql.impl.ClientHelper
  super_class: java.lang.Object
{
  private static final java.lang.String DS_LOCAL_MAP_NAME_BASE;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "__vertx.MySQLPostgreSQL.pools."

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.asyncsql.impl.ClientHelper this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.ext.asyncsql.impl.ClientHelper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/asyncsql/impl/ClientHelper;

  public static io.vertx.ext.asyncsql.AsyncSQLClient getOrCreate(io.vertx.core.Vertx, io.vertx.core.json.JsonObject, java.lang.String, boolean);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;Ljava/lang/String;Z)Lio/vertx/ext/asyncsql/AsyncSQLClient;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.core.json.JsonObject config
        start local 2 // java.lang.String poolName
        start local 3 // boolean mySQL
         0: .line 37
            aload 0 /* vertx */
            dup
            astore 4
            monitorenter
         1: .line 38
            aload 0 /* vertx */
            invokeinterface io.vertx.core.Vertx.sharedData:()Lio/vertx/core/shareddata/SharedData;
         2: .line 39
            new java.lang.StringBuilder
            dup
            ldc "__vertx.MySQLPostgreSQL.pools."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* mySQL */
            ifeq 3
            ldc "MySQL"
            goto 4
      StackMap locals: io.vertx.core.Vertx io.vertx.core.json.JsonObject java.lang.String int io.vertx.core.Vertx
      StackMap stack: io.vertx.core.shareddata.SharedData java.lang.StringBuilder
         3: ldc "PostgreSQL"
      StackMap locals: io.vertx.core.Vertx io.vertx.core.json.JsonObject java.lang.String int io.vertx.core.Vertx
      StackMap stack: io.vertx.core.shareddata.SharedData java.lang.StringBuilder java.lang.String
         4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 38
            invokeinterface io.vertx.core.shareddata.SharedData.getLocalMap:(Ljava/lang/String;)Lio/vertx/core/shareddata/LocalMap;
            astore 5 /* map */
        start local 5 // io.vertx.core.shareddata.LocalMap map
         6: .line 41
            aload 5 /* map */
            aload 2 /* poolName */
            invokeinterface io.vertx.core.shareddata.LocalMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.ext.asyncsql.impl.ClientHolder
            astore 6 /* theHolder */
        start local 6 // io.vertx.ext.asyncsql.impl.ClientHolder theHolder
         7: .line 42
            aload 6 /* theHolder */
            ifnonnull 11
         8: .line 43
            new io.vertx.ext.asyncsql.impl.ClientHolder
            dup
            aload 0 /* vertx */
            aload 1 /* config */
            iload 3 /* mySQL */
            aload 0 /* vertx */
            aload 5 /* map */
            aload 2 /* poolName */
            invokedynamic run(Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)Ljava/lang/Runnable;
              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:
                  ()V
                  io/vertx/ext/asyncsql/impl/ClientHelper.lambda$0(Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V (6)
                  ()V
            invokespecial io.vertx.ext.asyncsql.impl.ClientHolder.<init>:(Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;ZLjava/lang/Runnable;)V
            astore 6 /* theHolder */
         9: .line 44
            aload 5 /* map */
            aload 2 /* poolName */
            aload 6 /* theHolder */
            invokeinterface io.vertx.core.shareddata.LocalMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 45
            goto 12
        11: .line 46
      StackMap locals: io.vertx.core.shareddata.LocalMap io.vertx.ext.asyncsql.impl.ClientHolder
      StackMap stack:
            aload 6 /* theHolder */
            invokevirtual io.vertx.ext.asyncsql.impl.ClientHolder.incRefCount:()V
        12: .line 48
      StackMap locals:
      StackMap stack:
            new io.vertx.ext.asyncsql.impl.ClientWrapper
            dup
            aload 6 /* theHolder */
            invokespecial io.vertx.ext.asyncsql.impl.ClientWrapper.<init>:(Lio/vertx/ext/asyncsql/impl/ClientHolder;)V
            aload 4
            monitorexit
        13: areturn
        end local 6 // io.vertx.ext.asyncsql.impl.ClientHolder theHolder
        end local 5 // io.vertx.core.shareddata.LocalMap map
        14: .line 37
      StackMap locals: io.vertx.core.Vertx io.vertx.core.json.JsonObject java.lang.String int io.vertx.core.Vertx
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        15: athrow
        end local 3 // boolean mySQL
        end local 2 // java.lang.String poolName
        end local 1 // io.vertx.core.json.JsonObject config
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0      vertx  Lio/vertx/core/Vertx;
            0   16     1     config  Lio/vertx/core/json/JsonObject;
            0   16     2   poolName  Ljava/lang/String;
            0   16     3      mySQL  Z
            6   14     5        map  Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/asyncsql/impl/ClientHolder;>;
            7   14     6  theHolder  Lio/vertx/ext/asyncsql/impl/ClientHolder;
      Exception table:
        from    to  target  type
           1    13      14  any
          14    15      14  any
    MethodParameters:
          Name  Flags
      vertx     
      config    
      poolName  
      mySQL     

  private static void removeFromMap(io.vertx.core.Vertx, io.vertx.core.shareddata.LocalMap<java.lang.String, io.vertx.ext.asyncsql.impl.ClientHolder>, java.lang.String);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.vertx.core.Vertx vertx
        start local 1 // io.vertx.core.shareddata.LocalMap map
        start local 2 // java.lang.String poolName
         0: .line 53
            aload 0 /* vertx */
            dup
            astore 3
            monitorenter
         1: .line 54
            aload 1 /* map */
            aload 2 /* poolName */
            invokeinterface io.vertx.core.shareddata.LocalMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 55
            aload 1 /* map */
            invokeinterface io.vertx.core.shareddata.LocalMap.isEmpty:()Z
            ifeq 4
         3: .line 56
            aload 1 /* map */
            invokeinterface io.vertx.core.shareddata.LocalMap.close:()V
         4: .line 53
      StackMap locals: io.vertx.core.Vertx
      StackMap stack:
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 59
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String poolName
        end local 1 // io.vertx.core.shareddata.LocalMap map
        end local 0 // io.vertx.core.Vertx vertx
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0     vertx  Lio/vertx/core/Vertx;
            0    9     1       map  Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/asyncsql/impl/ClientHolder;>;
            0    9     2  poolName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Signature: (Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap<Ljava/lang/String;Lio/vertx/ext/asyncsql/impl/ClientHolder;>;Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      vertx     
      map       
      poolName  

  private static void lambda$0(io.vertx.core.Vertx, io.vertx.core.shareddata.LocalMap, java.lang.String);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 43
            aload 0
            aload 1
            aload 2
            invokestatic io.vertx.ext.asyncsql.impl.ClientHelper.removeFromMap:(Lio/vertx/core/Vertx;Lio/vertx/core/shareddata/LocalMap;Ljava/lang/String;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "ClientHelper.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles