public class io.vertx.config.zookeeper.ZookeeperConfigStore implements io.vertx.config.spi.ConfigStore
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.config.zookeeper.ZookeeperConfigStore
  super_class: java.lang.Object
{
  private final org.apache.curator.framework.CuratorFramework client;
    descriptor: Lorg/apache/curator/framework/CuratorFramework;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String path;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.vertx.core.impl.VertxInternal vertx;
    descriptor: Lio/vertx/core/impl/VertxInternal;
    flags: (0x0012) ACC_PRIVATE, 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=6, locals=6, args_size=3
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.json.JsonObject configuration
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 45
            aload 2 /* configuration */
            ldc "connection"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* connection */
        start local 3 // java.lang.String connection
         2: .line 46
            aload 0 /* this */
            aload 2 /* configuration */
            ldc "path"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield io.vertx.config.zookeeper.ZookeeperConfigStore.path:Ljava/lang/String;
         3: .line 47
            aload 0 /* this */
            aload 1 /* vertx */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.core.impl.VertxInternal
            putfield io.vertx.config.zookeeper.ZookeeperConfigStore.vertx:Lio/vertx/core/impl/VertxInternal;
         4: .line 48
            aload 2 /* configuration */
            ldc "maxRetries"
            iconst_3
            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 4 /* maxRetries */
        start local 4 // int maxRetries
         5: .line 49
            aload 2 /* configuration */
            ldc "baseSleepTimeBetweenRetries"
            sipush 1000
            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 5 /* baseGraceBetweenRetries */
        start local 5 // int baseGraceBetweenRetries
         6: .line 51
            aload 0 /* this */
            aload 3 /* connection */
         7: .line 52
            new org.apache.curator.retry.ExponentialBackoffRetry
            dup
            iload 5 /* baseGraceBetweenRetries */
            iload 4 /* maxRetries */
            invokespecial org.apache.curator.retry.ExponentialBackoffRetry.<init>:(II)V
         8: .line 51
            invokestatic org.apache.curator.framework.CuratorFrameworkFactory.newClient:(Ljava/lang/String;Lorg/apache/curator/RetryPolicy;)Lorg/apache/curator/framework/CuratorFramework;
            putfield io.vertx.config.zookeeper.ZookeeperConfigStore.client:Lorg/apache/curator/framework/CuratorFramework;
         9: .line 53
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.client:Lorg/apache/curator/framework/CuratorFramework;
            invokeinterface org.apache.curator.framework.CuratorFramework.start:()V
        10: .line 54
            return
        end local 5 // int baseGraceBetweenRetries
        end local 4 // int maxRetries
        end local 3 // java.lang.String connection
        end local 2 // io.vertx.core.json.JsonObject configuration
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   11     0                     this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
            0   11     1                    vertx  Lio/vertx/core/Vertx;
            0   11     2            configuration  Lio/vertx/core/json/JsonObject;
            2   11     3               connection  Ljava/lang/String;
            5   11     4               maxRetries  I
            6   11     5  baseGraceBetweenRetries  I
    MethodParameters:
               Name  Flags
      vertx          
      configuration  

  public io.vertx.core.Future<io.vertx.core.buffer.Buffer> get();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
         0: .line 58
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/config/zookeeper/ZookeeperConfigStore;)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/config/zookeeper/ZookeeperConfigStore.lambda$0(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
         1: .line 65
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/config/zookeeper/ZookeeperConfigStore;)Ljava/util/function/Function;
              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;)Ljava/lang/Object;
                  io/vertx/config/zookeeper/ZookeeperConfigStore.lambda$1(Ljava/lang/Object;)Lio/vertx/core/Future; (7)
                  (Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.flatMap:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         2: .line 58
            areturn
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
    Signature: ()Lio/vertx/core/Future<Lio/vertx/core/buffer/Buffer;>;

  private void retrieve(org.apache.curator.framework.api.CuratorEvent, io.vertx.core.Promise<io.vertx.core.buffer.Buffer>);
    descriptor: (Lorg/apache/curator/framework/api/CuratorEvent;Lio/vertx/core/Promise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
        start local 1 // org.apache.curator.framework.api.CuratorEvent event
        start local 2 // io.vertx.core.Promise promise
         0: .line 81
            aload 1 /* event */
            invokeinterface org.apache.curator.framework.api.CuratorEvent.getResultCode:()I
            invokestatic org.apache.zookeeper.KeeperException$Code.get:(I)Lorg/apache/zookeeper/KeeperException$Code;
            astore 3 /* code */
        start local 3 // org.apache.zookeeper.KeeperException$Code code
         1: .line 82
            aload 3 /* code */
            getstatic org.apache.zookeeper.KeeperException$Code.OK:Lorg/apache/zookeeper/KeeperException$Code;
            if_acmpne 4
         2: .line 83
            aload 2 /* promise */
            aload 1 /* event */
            invokeinterface org.apache.curator.framework.api.CuratorEvent.getData:()[B
            invokestatic io.vertx.core.buffer.Buffer.buffer:([B)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         3: .line 84
            goto 8
      StackMap locals: org.apache.zookeeper.KeeperException$Code
      StackMap stack:
         4: aload 3 /* code */
            getstatic org.apache.zookeeper.KeeperException$Code.NONODE:Lorg/apache/zookeeper/KeeperException$Code;
            if_acmpne 7
         5: .line 85
            aload 2 /* promise */
            ldc "{}"
            invokestatic io.vertx.core.buffer.Buffer.buffer:(Ljava/lang/String;)Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         6: .line 86
            goto 8
         7: .line 87
      StackMap locals:
      StackMap stack:
            aload 2 /* promise */
            aload 3 /* code */
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.path:Ljava/lang/String;
            invokestatic org.apache.zookeeper.KeeperException.create:(Lorg/apache/zookeeper/KeeperException$Code;Ljava/lang/String;)Lorg/apache/zookeeper/KeeperException;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         8: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.apache.zookeeper.KeeperException$Code code
        end local 2 // io.vertx.core.Promise promise
        end local 1 // org.apache.curator.framework.api.CuratorEvent event
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
            0    9     1    event  Lorg/apache/curator/framework/api/CuratorEvent;
            0    9     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/buffer/Buffer;>;
            1    9     3     code  Lorg/apache/zookeeper/KeeperException$Code;
    Signature: (Lorg/apache/curator/framework/api/CuratorEvent;Lio/vertx/core/Promise<Lio/vertx/core/buffer/Buffer;>;)V
    MethodParameters:
         Name  Flags
      event    
      promise  

  public io.vertx.core.Future<java.lang.Void> close();
    descriptor: ()Lio/vertx/core/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
         0: .line 93
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.client:Lorg/apache/curator/framework/CuratorFramework;
            invokeinterface org.apache.curator.framework.CuratorFramework.close:()V
         1: .line 94
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokeinterface io.vertx.core.impl.ContextInternal.succeededFuture:()Lio/vertx/core/Future;
            areturn
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
    Signature: ()Lio/vertx/core/Future<Ljava/lang/Void;>;

  private void lambda$0(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
        start local 1 // io.vertx.core.Promise promise
         0: .line 60
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.client:Lorg/apache/curator/framework/CuratorFramework;
            invokeinterface org.apache.curator.framework.CuratorFramework.blockUntilConnected:()V
         1: .line 61
            aload 1 /* promise */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 62
            goto 5
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
         3: astore 2 /* e */
        start local 2 // java.lang.InterruptedException e
         4: .line 63
            aload 1 /* promise */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.InterruptedException e
         5: .line 65
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
            0    6     1  promise  Lio/vertx/core/Promise<Ljava/lang/Object;>;
            4    5     2        e  Ljava/lang/InterruptedException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.InterruptedException

  private io.vertx.core.Future lambda$1(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/core/Future;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
        start local 1 // java.lang.Object v
         0: .line 67
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.promise:()Lio/vertx/core/impl/future/PromiseInternal;
            astore 2 /* promise */
        start local 2 // io.vertx.core.Promise promise
         1: .line 69
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.client:Lorg/apache/curator/framework/CuratorFramework;
            invokeinterface org.apache.curator.framework.CuratorFramework.getData:()Lorg/apache/curator/framework/api/GetDataBuilder;
         2: .line 70
            aload 0 /* this */
            aload 2 /* promise */
            invokedynamic processResult(Lio/vertx/config/zookeeper/ZookeeperConfigStore;Lio/vertx/core/Promise;)Lorg/apache/curator/framework/api/BackgroundCallback;
              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/apache/curator/framework/CuratorFramework;Lorg/apache/curator/framework/api/CuratorEvent;)V
                  io/vertx/config/zookeeper/ZookeeperConfigStore.lambda$2(Lio/vertx/core/Promise;Lorg/apache/curator/framework/CuratorFramework;Lorg/apache/curator/framework/api/CuratorEvent;)V (7)
                  (Lorg/apache/curator/framework/CuratorFramework;Lorg/apache/curator/framework/api/CuratorEvent;)V
            invokeinterface org.apache.curator.framework.api.GetDataBuilder.inBackground:(Lorg/apache/curator/framework/api/BackgroundCallback;)Ljava/lang/Object;
            checkcast org.apache.curator.framework.api.ErrorListenerPathable
         3: .line 71
            aload 2 /* promise */
            invokedynamic unhandledError(Lio/vertx/core/Promise;)Lorg/apache/curator/framework/api/UnhandledErrorListener;
              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/String;Ljava/lang/Throwable;)V
                  io/vertx/config/zookeeper/ZookeeperConfigStore.lambda$3(Lio/vertx/core/Promise;Ljava/lang/String;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/String;Ljava/lang/Throwable;)V
            invokeinterface org.apache.curator.framework.api.ErrorListenerPathable.withUnhandledErrorListener:(Lorg/apache/curator/framework/api/UnhandledErrorListener;)Lorg/apache/curator/framework/api/Pathable;
         4: .line 72
            aload 0 /* this */
            getfield io.vertx.config.zookeeper.ZookeeperConfigStore.path:Ljava/lang/String;
            invokeinterface org.apache.curator.framework.api.Pathable.forPath:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 73
            goto 8
      StackMap locals: io.vertx.config.zookeeper.ZookeeperConfigStore java.lang.Object io.vertx.core.Promise
      StackMap stack: java.lang.Exception
         6: astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 74
            aload 2 /* promise */
            aload 3 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
         8: .line 76
      StackMap locals:
      StackMap stack:
            aload 2 /* promise */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            areturn
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.Object v
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
            0    9     1        v  Ljava/lang/Object;
            1    9     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/buffer/Buffer;>;
            7    8     3        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception

  private void lambda$2(io.vertx.core.Promise, org.apache.curator.framework.CuratorFramework, org.apache.curator.framework.api.CuratorEvent);
    descriptor: (Lio/vertx/core/Promise;Lorg/apache/curator/framework/CuratorFramework;Lorg/apache/curator/framework/api/CuratorEvent;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
        start local 2 // org.apache.curator.framework.CuratorFramework client
        start local 3 // org.apache.curator.framework.api.CuratorEvent event
         0: .line 70
            aload 0 /* this */
            aload 3 /* event */
            aload 1
            invokevirtual io.vertx.config.zookeeper.ZookeeperConfigStore.retrieve:(Lorg/apache/curator/framework/api/CuratorEvent;Lio/vertx/core/Promise;)V
            return
        end local 3 // org.apache.curator.framework.api.CuratorEvent event
        end local 2 // org.apache.curator.framework.CuratorFramework client
        end local 0 // io.vertx.config.zookeeper.ZookeeperConfigStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/vertx/config/zookeeper/ZookeeperConfigStore;
            0    1     2  client  Lorg/apache/curator/framework/CuratorFramework;
            0    1     3   event  Lorg/apache/curator/framework/api/CuratorEvent;
    Exceptions:
      throws java.lang.Exception

  private static void lambda$3(io.vertx.core.Promise, java.lang.String, java.lang.Throwable);
    descriptor: (Lio/vertx/core/Promise;Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=3, args_size=3
        start local 1 // java.lang.String message
        start local 2 // java.lang.Throwable e
         0: .line 71
            aload 0
            new java.lang.Exception
            dup
            aload 1 /* message */
            aload 2 /* e */
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
            return
        end local 2 // java.lang.Throwable e
        end local 1 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     1  message  Ljava/lang/String;
            0    1     2        e  Ljava/lang/Throwable;
}
SourceFile: "ZookeeperConfigStore.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Code = org.apache.zookeeper.KeeperException$Code of org.apache.zookeeper.KeeperException