public class io.vertx.ext.cluster.infinispan.InfinispanClusterManager implements io.vertx.core.spi.cluster.ClusterManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.cluster.infinispan.InfinispanClusterManager
  super_class: java.lang.Object
{
  private static final io.vertx.core.impl.logging.Logger log;
    descriptor: Lio/vertx/core/impl/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String VERTX_INFINISPAN_CONFIG_PROP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.infinispan.config"

  private static final java.lang.String INFINISPAN_XML;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "infinispan.xml"

  private static final java.lang.String DEFAULT_INFINISPAN_XML;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "default-infinispan.xml"

  private static final java.lang.String VERTX_JGROUPS_CONFIG_PROP_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "vertx.jgroups.config"

  private static final java.lang.String JGROUPS_XML;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jgroups.xml"

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

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

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

  private io.vertx.core.impl.VertxInternal vertx;
    descriptor: Lio/vertx/core/impl/VertxInternal;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.NodeSelector nodeSelector;
    descriptor: Lio/vertx/core/spi/cluster/NodeSelector;
    flags: (0x0002) ACC_PRIVATE

  private org.infinispan.manager.DefaultCacheManager cacheManager;
    descriptor: Lorg/infinispan/manager/DefaultCacheManager;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.NodeListener nodeListener;
    descriptor: Lio/vertx/core/spi/cluster/NodeListener;
    flags: (0x0002) ACC_PRIVATE

  private org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager lockManager;
    descriptor: Lorg/infinispan/lock/impl/manager/EmbeddedClusteredLockManager;
    flags: (0x0002) ACC_PRIVATE

  private org.infinispan.counter.api.CounterManager counterManager;
    descriptor: Lorg/infinispan/counter/api/CounterManager;
    flags: (0x0002) ACC_PRIVATE

  private io.vertx.core.spi.cluster.NodeInfo nodeInfo;
    descriptor: Lio/vertx/core/spi/cluster/NodeInfo;
    flags: (0x0002) ACC_PRIVATE

  private org.infinispan.AdvancedCache<java.lang.String, byte[]> nodeInfoCache;
    descriptor: Lorg/infinispan/AdvancedCache;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/infinispan/AdvancedCache<Ljava/lang/String;[B>;

  private io.vertx.ext.cluster.infinispan.impl.SubsCacheHelper subsCacheHelper;
    descriptor: Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
    flags: (0x0002) ACC_PRIVATE

  private volatile boolean active;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private io.vertx.ext.cluster.infinispan.InfinispanClusterManager$ClusterViewListener viewListener;
    descriptor: Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager$ClusterViewListener;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 73
            ldc Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            invokestatic io.vertx.core.impl.logging.LoggerFactory.getLogger:(Ljava/lang/Class;)Lio/vertx/core/impl/logging/Logger;
            putstatic io.vertx.ext.cluster.infinispan.InfinispanClusterManager.log:Lio/vertx/core/impl/logging/Logger;
         1: .line 79
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            ldc "vertx.infinispan.config"
            ldc "infinispan.xml"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.ispnConfigPath:Ljava/lang/String;
         2: .line 102
            aload 0 /* this */
            ldc "vertx.jgroups.config"
            ldc "jgroups.xml"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.jgroupsConfigPath:Ljava/lang/String;
         3: .line 103
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.userProvidedCacheManager:Z
         4: .line 104
            return
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public void <init>(org.infinispan.manager.DefaultCacheManager);
    descriptor: (Lorg/infinispan/manager/DefaultCacheManager;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // org.infinispan.manager.DefaultCacheManager cacheManager
         0: .line 112
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 113
            aload 1 /* cacheManager */
            ldc "cacheManager"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 114
            aload 0 /* this */
            aload 1 /* cacheManager */
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
         3: .line 115
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.ispnConfigPath:Ljava/lang/String;
         4: .line 116
            aload 0 /* this */
            aconst_null
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.jgroupsConfigPath:Ljava/lang/String;
         5: .line 117
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.userProvidedCacheManager:Z
         6: .line 118
            return
        end local 1 // org.infinispan.manager.DefaultCacheManager cacheManager
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    7     1  cacheManager  Lorg/infinispan/manager/DefaultCacheManager;
    MethodParameters:
              Name  Flags
      cacheManager  

  public void init(io.vertx.core.Vertx, io.vertx.core.spi.cluster.NodeSelector);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/spi/cluster/NodeSelector;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.spi.cluster.NodeSelector nodeSelector
         0: .line 122
            aload 0 /* this */
            aload 1 /* vertx */
            checkcast io.vertx.core.impl.VertxInternal
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
         1: .line 123
            aload 0 /* this */
            aload 2 /* nodeSelector */
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
         2: .line 124
            return
        end local 2 // io.vertx.core.spi.cluster.NodeSelector nodeSelector
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    3     1         vertx  Lio/vertx/core/Vertx;
            0    3     2  nodeSelector  Lio/vertx/core/spi/cluster/NodeSelector;
    MethodParameters:
              Name  Flags
      vertx         
      nodeSelector  

  public org.infinispan.commons.api.BasicCacheContainer getCacheContainer();
    descriptor: ()Lorg/infinispan/commons/api/BasicCacheContainer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 127
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public <K, V> void getAsyncMap(java.lang.String, io.vertx.core.Promise<io.vertx.core.shareddata.AsyncMap<K, V>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String name
        start local 2 // io.vertx.core.Promise promise
         0: .line 132
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            aload 1 /* name */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;Ljava/lang/String;)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/cluster/infinispan/InfinispanClusterManager.lambda$0(Ljava/lang/String;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 136
            iconst_0
            aload 2 /* promise */
         2: .line 132
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 137
            return
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String name
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     1     name  Ljava/lang/String;
            0    4     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/AsyncMap<TK;TV;>;>;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;Lio/vertx/core/Promise<Lio/vertx/core/shareddata/AsyncMap<TK;TV;>;>;)V
    MethodParameters:
         Name  Flags
      name     
      promise  

  public <K, V> java.util.Map<K, V> getSyncMap(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String name
         0: .line 141
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            aload 1 /* name */
            invokevirtual org.infinispan.manager.DefaultCacheManager.getCache:(Ljava/lang/String;)Lorg/infinispan/Cache;
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    1     1  name  Ljava/lang/String;
    Signature: <K:Ljava/lang/Object;V:Ljava/lang/Object;>(Ljava/lang/String;)Ljava/util/Map<TK;TV;>;
    MethodParameters:
      Name  Flags
      name  

  public void getLockWithTimeout(java.lang.String, long, io.vertx.core.Promise<io.vertx.core.shareddata.Lock>);
    descriptor: (Ljava/lang/String;JLio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String name
        start local 2 // long timeout
        start local 4 // io.vertx.core.Promise promise
         0: .line 146
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            aload 1 /* name */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;Ljava/lang/String;)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/cluster/infinispan/InfinispanClusterManager.lambda$1(Ljava/lang/String;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 151
            iconst_0
            aload 0 /* this */
            aload 1 /* name */
            lload 2 /* timeout */
            aload 4 /* promise */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;Ljava/lang/String;JLio/vertx/core/Promise;)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/cluster/infinispan/InfinispanClusterManager.lambda$2(Ljava/lang/String;JLio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
         2: .line 146
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 158
            return
        end local 4 // io.vertx.core.Promise promise
        end local 2 // long timeout
        end local 1 // java.lang.String name
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     1     name  Ljava/lang/String;
            0    4     2  timeout  J
            0    4     4  promise  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/Lock;>;
    Signature: (Ljava/lang/String;JLio/vertx/core/Promise<Lio/vertx/core/shareddata/Lock;>;)V
    MethodParameters:
         Name  Flags
      name     
      timeout  
      promise  

  private void tryLock(org.infinispan.lock.api.ClusteredLock, java.lang.String, long, io.vertx.core.Promise<io.vertx.core.shareddata.Lock>);
    descriptor: (Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;JLio/vertx/core/Promise;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // org.infinispan.lock.api.ClusteredLock lock
        start local 2 // java.lang.String name
        start local 3 // long timeout
        start local 5 // io.vertx.core.Promise promise
         0: .line 161
            aload 1 /* lock */
            lload 3 /* timeout */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokeinterface org.infinispan.lock.api.ClusteredLock.tryLock:(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/CompletableFuture;
            aload 5 /* promise */
            aload 1 /* lock */
            aload 2 /* name */
            invokedynamic accept(Lio/vertx/core/Promise;Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;)Ljava/util/function/BiConsumer;
              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;)V
                  io/vertx/ext/cluster/infinispan/InfinispanClusterManager.lambda$3(Lio/vertx/core/Promise;Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Boolean;Ljava/lang/Throwable;)V
            invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            pop
         1: .line 172
            return
        end local 5 // io.vertx.core.Promise promise
        end local 3 // long timeout
        end local 2 // java.lang.String name
        end local 1 // org.infinispan.lock.api.ClusteredLock lock
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1     lock  Lorg/infinispan/lock/api/ClusteredLock;
            0    2     2     name  Ljava/lang/String;
            0    2     3  timeout  J
            0    2     5  promise  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/Lock;>;
    Signature: (Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;JLio/vertx/core/Promise<Lio/vertx/core/shareddata/Lock;>;)V
    MethodParameters:
         Name  Flags
      lock     
      name     
      timeout  
      promise  

  public void getCounter(java.lang.String, io.vertx.core.Promise<io.vertx.core.shareddata.Counter>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String name
        start local 2 // io.vertx.core.Promise promise
         0: .line 176
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            aload 1 /* name */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;Ljava/lang/String;)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/cluster/infinispan/InfinispanClusterManager.lambda$4(Ljava/lang/String;Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 181
            iconst_0
            aload 2 /* promise */
         2: .line 176
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 182
            return
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String name
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     1     name  Ljava/lang/String;
            0    4     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/Counter;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Promise<Lio/vertx/core/shareddata/Counter;>;)V
    MethodParameters:
         Name  Flags
      name     
      promise  

  public java.lang.String getNodeId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 186
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.getNodeAddress:()Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public java.util.List<java.lang.String> getNodes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 191
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.getTransport:()Lorg/infinispan/remoting/transport/Transport;
            invokeinterface org.infinispan.remoting.transport.Transport.getMembers:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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;
                  java/lang/Object.toString()Ljava/lang/String; (5)
                  (Lorg/infinispan/remoting/transport/Address;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public synchronized void nodeListener(io.vertx.core.spi.cluster.NodeListener);
    descriptor: (Lio/vertx/core/spi/cluster/NodeListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.spi.cluster.NodeListener nodeListener
         0: .line 196
            aload 0 /* this */
            aload 1 /* nodeListener */
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeListener:Lio/vertx/core/spi/cluster/NodeListener;
         1: .line 197
            return
        end local 1 // io.vertx.core.spi.cluster.NodeListener nodeListener
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1  nodeListener  Lio/vertx/core/spi/cluster/NodeListener;
    MethodParameters:
              Name  Flags
      nodeListener  

  public void setNodeInfo(io.vertx.core.spi.cluster.NodeInfo, io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/spi/cluster/NodeInfo;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.spi.cluster.NodeInfo nodeInfo
        start local 2 // io.vertx.core.Promise promise
         0: .line 201
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 202
            aload 0 /* this */
            aload 1 /* nodeInfo */
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfo:Lio/vertx/core/spi/cluster/NodeInfo;
         2: .line 201
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: io.vertx.ext.cluster.infinispan.InfinispanClusterManager io.vertx.core.spi.cluster.NodeInfo io.vertx.core.Promise io.vertx.ext.cluster.infinispan.InfinispanClusterManager
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* nodeInfo */
            invokestatic io.vertx.ext.cluster.infinispan.impl.DataConverter.toCachedObject:(Ljava/lang/Object;)[B
            astore 3 /* value */
        start local 3 // byte[] value
         7: .line 205
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfoCache:Lorg/infinispan/AdvancedCache;
            getstatic org.infinispan.context.Flag.IGNORE_RETURN_VALUES:Lorg/infinispan/context/Flag;
            invokeinterface org.infinispan.AdvancedCache.withFlags:(Lorg/infinispan/context/Flag;)Lorg/infinispan/AdvancedCache;
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getNodeId:()Ljava/lang/String;
            aload 3 /* value */
            invokeinterface org.infinispan.AdvancedCache.putAsync:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
            invokestatic io.vertx.core.Future.fromCompletionStage:(Ljava/util/concurrent/CompletionStage;)Lio/vertx/core/Future;
         8: .line 206
            invokeinterface io.vertx.core.Future.mapEmpty:()Lio/vertx/core/Future;
         9: .line 207
            aload 2 /* promise */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
        10: .line 208
            return
        end local 3 // byte[] value
        end local 2 // io.vertx.core.Promise promise
        end local 1 // io.vertx.core.spi.cluster.NodeInfo nodeInfo
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0   11     1  nodeInfo  Lio/vertx/core/spi/cluster/NodeInfo;
            0   11     2   promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            7   11     3     value  [B
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Signature: (Lio/vertx/core/spi/cluster/NodeInfo;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
          Name  Flags
      nodeInfo  
      promise   

  public synchronized io.vertx.core.spi.cluster.NodeInfo getNodeInfo();
    descriptor: ()Lio/vertx/core/spi/cluster/NodeInfo;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 212
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfo:Lio/vertx/core/spi/cluster/NodeInfo;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public void getNodeInfo(java.lang.String, io.vertx.core.Promise<io.vertx.core.spi.cluster.NodeInfo>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String nodeId
        start local 2 // io.vertx.core.Promise promise
         0: .line 217
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfoCache:Lorg/infinispan/AdvancedCache;
            aload 1 /* nodeId */
            invokeinterface org.infinispan.AdvancedCache.getAsync:(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
            aload 2 /* promise */
            invokedynamic accept(Lio/vertx/core/Promise;)Ljava/util/function/BiConsumer;
              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;)V
                  io/vertx/ext/cluster/infinispan/InfinispanClusterManager.lambda$6(Lio/vertx/core/Promise;[BLjava/lang/Throwable;)V (6)
                  ([BLjava/lang/Throwable;)V
            invokevirtual java.util.concurrent.CompletableFuture.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
            pop
         1: .line 226
            return
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String nodeId
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1   nodeId  Ljava/lang/String;
            0    2     2  promise  Lio/vertx/core/Promise<Lio/vertx/core/spi/cluster/NodeInfo;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Promise<Lio/vertx/core/spi/cluster/NodeInfo;>;)V
    MethodParameters:
         Name  Flags
      nodeId   
      promise  

  public void join(io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.Promise promise
         0: .line 230
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;)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/cluster/infinispan/InfinispanClusterManager.lambda$7(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 281
            iconst_0
            aload 1 /* promise */
         2: .line 230
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 282
            return
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
         Name  Flags
      promise  

  private java.lang.ClassLoader getCTCCL();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 285
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public void leave(io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.Promise promise
         0: .line 290
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            invokedynamic handle(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;)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/cluster/infinispan/InfinispanClusterManager.lambda$8(Lio/vertx/core/Promise;)V (7)
                  (Lio/vertx/core/Promise;)V
         1: .line 302
            iconst_0
            aload 1 /* promise */
         2: .line 290
            invokeinterface io.vertx.core.impl.VertxInternal.executeBlocking:(Lio/vertx/core/Handler;ZLio/vertx/core/Handler;)V
         3: .line 303
            return
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     1  promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    Signature: (Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
         Name  Flags
      promise  

  public boolean isActive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 307
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.active:Z
            ireturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public void addRegistration(java.lang.String, io.vertx.core.spi.cluster.RegistrationInfo, io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String address
        start local 2 // io.vertx.core.spi.cluster.RegistrationInfo registrationInfo
        start local 3 // io.vertx.core.Promise promise
         0: .line 312
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokestatic io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer.get:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/ext/cluster/infinispan/impl/SubsOpSerializer;
            astore 4 /* serializer */
        start local 4 // io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer serializer
         1: .line 313
            aload 4 /* serializer */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;)Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  io/vertx/ext/cluster/infinispan/impl/SubsCacheHelper.put(Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;)Ljava/util/concurrent/CompletableFuture; (5)
                  (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;)Ljava/util/concurrent/CompletableFuture;
            aload 1 /* address */
            aload 2 /* registrationInfo */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer.execute:(Ljava/util/function/BiFunction;Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
         2: .line 314
            return
        end local 4 // io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer serializer
        end local 3 // io.vertx.core.Promise promise
        end local 2 // io.vertx.core.spi.cluster.RegistrationInfo registrationInfo
        end local 1 // java.lang.String address
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    3     1           address  Ljava/lang/String;
            0    3     2  registrationInfo  Lio/vertx/core/spi/cluster/RegistrationInfo;
            0    3     3           promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            1    3     4        serializer  Lio/vertx/ext/cluster/infinispan/impl/SubsOpSerializer;
    Signature: (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
                  Name  Flags
      address           
      registrationInfo  
      promise           

  public void removeRegistration(java.lang.String, io.vertx.core.spi.cluster.RegistrationInfo, io.vertx.core.Promise<java.lang.Void>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String address
        start local 2 // io.vertx.core.spi.cluster.RegistrationInfo registrationInfo
        start local 3 // io.vertx.core.Promise promise
         0: .line 318
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            invokeinterface io.vertx.core.impl.VertxInternal.getOrCreateContext:()Lio/vertx/core/impl/ContextInternal;
            invokestatic io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer.get:(Lio/vertx/core/impl/ContextInternal;)Lio/vertx/ext/cluster/infinispan/impl/SubsOpSerializer;
            astore 4 /* serializer */
        start local 4 // io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer serializer
         1: .line 319
            aload 4 /* serializer */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic apply(Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;)Ljava/util/function/BiFunction;
              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;)Ljava/lang/Object;
                  io/vertx/ext/cluster/infinispan/impl/SubsCacheHelper.remove(Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;)Ljava/util/concurrent/CompletableFuture; (5)
                  (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;)Ljava/util/concurrent/CompletableFuture;
            aload 1 /* address */
            aload 2 /* registrationInfo */
            aload 3 /* promise */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer.execute:(Ljava/util/function/BiFunction;Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise;)V
         2: .line 320
            return
        end local 4 // io.vertx.ext.cluster.infinispan.impl.SubsOpSerializer serializer
        end local 3 // io.vertx.core.Promise promise
        end local 2 // io.vertx.core.spi.cluster.RegistrationInfo registrationInfo
        end local 1 // java.lang.String address
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    3     1           address  Ljava/lang/String;
            0    3     2  registrationInfo  Lio/vertx/core/spi/cluster/RegistrationInfo;
            0    3     3           promise  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            1    3     4        serializer  Lio/vertx/ext/cluster/infinispan/impl/SubsOpSerializer;
    Signature: (Ljava/lang/String;Lio/vertx/core/spi/cluster/RegistrationInfo;Lio/vertx/core/Promise<Ljava/lang/Void;>;)V
    MethodParameters:
                  Name  Flags
      address           
      registrationInfo  
      promise           

  public void getRegistrations(java.lang.String, io.vertx.core.Promise<java.util.List<io.vertx.core.spi.cluster.RegistrationInfo>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String address
        start local 2 // io.vertx.core.Promise promise
         0: .line 324
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
            aload 1 /* address */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.SubsCacheHelper.get:(Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture;
            invokestatic io.vertx.core.Future.fromCompletionStage:(Ljava/util/concurrent/CompletionStage;)Lio/vertx/core/Future;
            aload 2 /* promise */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         1: .line 325
            return
        end local 2 // io.vertx.core.Promise promise
        end local 1 // java.lang.String address
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1  address  Ljava/lang/String;
            0    2     2  promise  Lio/vertx/core/Promise<Ljava/util/List<Lio/vertx/core/spi/cluster/RegistrationInfo;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Promise<Ljava/util/List<Lio/vertx/core/spi/cluster/RegistrationInfo;>;>;)V
    MethodParameters:
         Name  Flags
      address  
      promise  

  public java.lang.String clusterHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 329
            aload 0 /* this */
            ldc "bind_addr"
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getHostFromTransportProtocol:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  public java.lang.String clusterPublicHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 334
            aload 0 /* this */
            ldc "external_addr"
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getHostFromTransportProtocol:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  private java.lang.String getHostFromTransportProtocol(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.lang.String fieldName
         0: .line 338
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.getTransport:()Lorg/infinispan/remoting/transport/Transport;
            checkcast org.infinispan.remoting.transport.jgroups.JGroupsTransport
            astore 2 /* transport */
        start local 2 // org.infinispan.remoting.transport.jgroups.JGroupsTransport transport
         1: .line 339
            aload 2 /* transport */
            invokevirtual org.infinispan.remoting.transport.jgroups.JGroupsTransport.getChannel:()Lorg/jgroups/JChannel;
            invokevirtual org.jgroups.JChannel.getProtocolStack:()Lorg/jgroups/stack/ProtocolStack;
            invokevirtual org.jgroups.stack.ProtocolStack.getBottomProtocol:()Lorg/jgroups/stack/Protocol;
            astore 3 /* bottomProtocol */
        start local 3 // org.jgroups.stack.Protocol bottomProtocol
         2: .line 341
            aload 3 /* bottomProtocol */
            aload 1 /* fieldName */
            invokevirtual org.jgroups.stack.Protocol.getValue:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 4 /* external_addr */
        start local 4 // java.net.InetAddress external_addr
         3: .line 342
            aload 4 /* external_addr */
            invokevirtual java.net.InetAddress.toString:()Ljava/lang/String;
            astore 5 /* str */
        start local 5 // java.lang.String str
         4: .line 343
            aload 5 /* str */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 7
         5: .line 344
            aload 5 /* str */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
         6: areturn
         7: .line 346
      StackMap locals: io.vertx.ext.cluster.infinispan.InfinispanClusterManager java.lang.String org.infinispan.remoting.transport.jgroups.JGroupsTransport org.jgroups.stack.Protocol java.net.InetAddress java.lang.String
      StackMap stack:
            aload 5 /* str */
            iconst_0
            aload 5 /* str */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         8: areturn
        end local 5 // java.lang.String str
        end local 4 // java.net.InetAddress external_addr
         9: .line 347
      StackMap locals: io.vertx.ext.cluster.infinispan.InfinispanClusterManager java.lang.String org.infinispan.remoting.transport.jgroups.JGroupsTransport org.jgroups.stack.Protocol
      StackMap stack: java.lang.Exception
            pop
        10: .line 348
            aconst_null
            areturn
        end local 3 // org.jgroups.stack.Protocol bottomProtocol
        end local 2 // org.infinispan.remoting.transport.jgroups.JGroupsTransport transport
        end local 1 // java.lang.String fieldName
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0   11     1       fieldName  Ljava/lang/String;
            1   11     2       transport  Lorg/infinispan/remoting/transport/jgroups/JGroupsTransport;
            2   11     3  bottomProtocol  Lorg/jgroups/stack/Protocol;
            3    9     4   external_addr  Ljava/net/InetAddress;
            4    9     5             str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     6       9  Class java.lang.Exception
           7     8       9  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      fieldName  

  private boolean isMaster();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
         0: .line 400
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.isCoordinator:()Z
            ireturn
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;

  private void cleanSubs(java.util.List<org.infinispan.remoting.transport.Address>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.util.List removed
         0: .line 404
            aload 1 /* removed */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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;
                  java/lang/Object.toString()Ljava/lang/String; (5)
                  (Lorg/infinispan/remoting/transport/Address;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;)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
                  io/vertx/ext/cluster/infinispan/impl/SubsCacheHelper.removeAllForNode(Ljava/lang/String;)V (5)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         1: .line 405
            return
        end local 1 // java.util.List removed
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1  removed  Ljava/util/List<Lorg/infinispan/remoting/transport/Address;>;
    Signature: (Ljava/util/List<Lorg/infinispan/remoting/transport/Address;>;)V
    MethodParameters:
         Name  Flags
      removed  

  private void cleanNodeInfos(java.util.List<org.infinispan.remoting.transport.Address>);
    descriptor: (Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // java.util.List removed
         0: .line 408
            aload 1 /* removed */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()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;
                  java/lang/Object.toString()Ljava/lang/String; (5)
                  (Lorg/infinispan/remoting/transport/Address;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfoCache:Lorg/infinispan/AdvancedCache;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic accept(Lorg/infinispan/AdvancedCache;)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
                  org/infinispan/commons/api/BasicCache.remove(Ljava/lang/Object;)Ljava/lang/Object; (9 itf)
                  (Ljava/lang/String;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         1: .line 409
            return
        end local 1 // java.util.List removed
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    2     1  removed  Ljava/util/List<Lorg/infinispan/remoting/transport/Address;>;
    Signature: (Ljava/util/List<Lorg/infinispan/remoting/transport/Address;>;)V
    MethodParameters:
         Name  Flags
      removed  

  private void lambda$0(java.lang.String, io.vertx.core.Promise);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 2 // io.vertx.core.Promise prom
         0: .line 133
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.administration:()Lorg/infinispan/manager/EmbeddedCacheManagerAdmin;
            iconst_1
            anewarray org.infinispan.commons.api.CacheContainerAdmin$AdminFlag
            dup
            iconst_0
            getstatic org.infinispan.commons.api.CacheContainerAdmin$AdminFlag.VOLATILE:Lorg/infinispan/commons/api/CacheContainerAdmin$AdminFlag;
            aastore
            invokeinterface org.infinispan.manager.EmbeddedCacheManagerAdmin.withFlags:([Lorg/infinispan/commons/api/CacheContainerAdmin$AdminFlag;)Lorg/infinispan/commons/api/CacheContainerAdmin;
            checkcast org.infinispan.manager.EmbeddedCacheManagerAdmin
            astore 3 /* administration */
        start local 3 // org.infinispan.manager.EmbeddedCacheManagerAdmin administration
         1: .line 134
            aload 3 /* administration */
            aload 1
            ldc "__vertx.distributed.cache.configuration"
            invokeinterface org.infinispan.manager.EmbeddedCacheManagerAdmin.getOrCreateCache:(Ljava/lang/String;Ljava/lang/String;)Lorg/infinispan/Cache;
            astore 4 /* cache */
        start local 4 // org.infinispan.Cache cache
         2: .line 135
            aload 2 /* prom */
            new io.vertx.ext.cluster.infinispan.impl.InfinispanAsyncMapImpl
            dup
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 4 /* cache */
            invokespecial io.vertx.ext.cluster.infinispan.impl.InfinispanAsyncMapImpl.<init>:(Lio/vertx/core/impl/VertxInternal;Lorg/infinispan/Cache;)V
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        end local 4 // org.infinispan.Cache cache
        end local 3 // org.infinispan.manager.EmbeddedCacheManagerAdmin administration
         3: .line 136
            return
        end local 2 // io.vertx.core.Promise prom
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     2            prom  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/AsyncMap<TK;TV;>;>;
            1    3     3  administration  Lorg/infinispan/manager/EmbeddedCacheManagerAdmin;
            2    3     4           cache  Lorg/infinispan/Cache<[B[B>;

  private void lambda$1(java.lang.String, io.vertx.core.Promise);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 2 // io.vertx.core.Promise prom
         0: .line 147
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.lockManager:Lorg/infinispan/lock/impl/manager/EmbeddedClusteredLockManager;
            aload 1
            invokevirtual org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager.isDefined:(Ljava/lang/String;)Z
            ifne 2
         1: .line 148
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.lockManager:Lorg/infinispan/lock/impl/manager/EmbeddedClusteredLockManager;
            aload 1
            invokevirtual org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager.defineLock:(Ljava/lang/String;)Z
            pop
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 2 /* prom */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.lockManager:Lorg/infinispan/lock/impl/manager/EmbeddedClusteredLockManager;
            aload 1
            invokevirtual org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager.get:(Ljava/lang/String;)Lorg/infinispan/lock/api/ClusteredLock;
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         3: .line 151
            return
        end local 2 // io.vertx.core.Promise prom
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     2  prom  Lio/vertx/core/Promise<Lorg/infinispan/lock/api/ClusteredLock;>;

  private void lambda$2(java.lang.String, long, io.vertx.core.Promise, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;JLio/vertx/core/Promise;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 5 // io.vertx.core.AsyncResult ar
         0: .line 152
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 153
            aload 0 /* this */
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast org.infinispan.lock.api.ClusteredLock
            aload 1
            lload 2
            aload 4
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.tryLock:(Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;JLio/vertx/core/Promise;)V
         2: .line 154
            goto 4
         3: .line 155
      StackMap locals:
      StackMap stack:
            aload 4
            aload 5 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         4: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 5 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    5     5    ar  Lio/vertx/core/AsyncResult<Lorg/infinispan/lock/api/ClusteredLock;>;

  private static void lambda$3(io.vertx.core.Promise, org.infinispan.lock.api.ClusteredLock, java.lang.String, java.lang.Boolean, java.lang.Throwable);
    descriptor: (Lio/vertx/core/Promise;Lorg/infinispan/lock/api/ClusteredLock;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=5
        start local 3 // java.lang.Boolean locked
        start local 4 // java.lang.Throwable throwable
         0: .line 162
            aload 4 /* throwable */
            ifnonnull 6
         1: .line 163
            aload 3 /* locked */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 4
         2: .line 164
            aload 0
            new io.vertx.ext.cluster.infinispan.impl.InfinispanLock
            dup
            aload 1
            invokespecial io.vertx.ext.cluster.infinispan.impl.InfinispanLock.<init>:(Lorg/infinispan/lock/api/ClusteredLock;)V
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         3: .line 165
            goto 7
         4: .line 166
      StackMap locals:
      StackMap stack:
            aload 0
            new java.lang.StringBuilder
            dup
            ldc "Timed out waiting to get lock "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
         5: .line 168
            goto 7
         6: .line 169
      StackMap locals:
      StackMap stack:
            aload 0
            aload 4 /* throwable */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         7: .line 171
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.Throwable throwable
        end local 3 // java.lang.Boolean locked
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     3     locked  Ljava/lang/Boolean;
            0    8     4  throwable  Ljava/lang/Throwable;

  private void lambda$4(java.lang.String, io.vertx.core.Promise);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 2 // io.vertx.core.Promise prom
         0: .line 177
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.counterManager:Lorg/infinispan/counter/api/CounterManager;
            aload 1
            invokeinterface org.infinispan.counter.api.CounterManager.isDefined:(Ljava/lang/String;)Z
            ifne 2
         1: .line 178
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.counterManager:Lorg/infinispan/counter/api/CounterManager;
            aload 1
            getstatic org.infinispan.counter.api.CounterType.UNBOUNDED_STRONG:Lorg/infinispan/counter/api/CounterType;
            invokestatic org.infinispan.counter.api.CounterConfiguration.builder:(Lorg/infinispan/counter/api/CounterType;)Lorg/infinispan/counter/api/CounterConfiguration$Builder;
            invokevirtual org.infinispan.counter.api.CounterConfiguration$Builder.build:()Lorg/infinispan/counter/api/CounterConfiguration;
            invokeinterface org.infinispan.counter.api.CounterManager.defineCounter:(Ljava/lang/String;Lorg/infinispan/counter/api/CounterConfiguration;)Z
            pop
         2: .line 180
      StackMap locals:
      StackMap stack:
            aload 2 /* prom */
            new io.vertx.ext.cluster.infinispan.impl.InfinispanCounter
            dup
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.vertx:Lio/vertx/core/impl/VertxInternal;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.counterManager:Lorg/infinispan/counter/api/CounterManager;
            aload 1
            invokeinterface org.infinispan.counter.api.CounterManager.getStrongCounter:(Ljava/lang/String;)Lorg/infinispan/counter/api/StrongCounter;
            invokeinterface org.infinispan.counter.api.StrongCounter.sync:()Lorg/infinispan/counter/api/SyncStrongCounter;
            invokespecial io.vertx.ext.cluster.infinispan.impl.InfinispanCounter.<init>:(Lio/vertx/core/Vertx;Lorg/infinispan/counter/api/SyncStrongCounter;)V
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         3: .line 181
            return
        end local 2 // io.vertx.core.Promise prom
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0    4     2  prom  Lio/vertx/core/Promise<Lio/vertx/core/shareddata/Counter;>;

  private static void lambda$6(io.vertx.core.Promise, byte[], java.lang.Throwable);
    descriptor: (Lio/vertx/core/Promise;[BLjava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 1 // byte[] nodeInfo
        start local 2 // java.lang.Throwable throwable
         0: .line 218
            aload 2 /* throwable */
            ifnull 3
         1: .line 219
            aload 0
            aload 2 /* throwable */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
         2: .line 220
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 1 /* nodeInfo */
            ifnonnull 6
         4: .line 221
            aload 0
            ldc "Not a member of the cluster"
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/String;)V
         5: .line 222
            goto 7
         6: .line 223
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* nodeInfo */
            invokestatic io.vertx.ext.cluster.infinispan.impl.DataConverter.fromCachedObject:([B)Ljava/lang/Object;
            checkcast io.vertx.core.spi.cluster.NodeInfo
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
         7: .line 225
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable throwable
        end local 1 // byte[] nodeInfo
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     1   nodeInfo  [B
            0    8     2  throwable  Ljava/lang/Throwable;

  private void lambda$7(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.Promise prom
         0: .line 231
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.active:Z
            ifeq 3
         1: .line 232
            aload 1 /* prom */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 233
            return
         3: .line 235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.active:Z
         4: .line 236
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.userProvidedCacheManager:Z
            ifne 25
         5: .line 238
            invokestatic org.infinispan.commons.util.FileLookupFactory.newInstance:()Lorg/infinispan/commons/util/FileLookup;
            astore 2 /* fileLookup */
        start local 2 // org.infinispan.commons.util.FileLookup fileLookup
         6: .line 240
            aload 2 /* fileLookup */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.ispnConfigPath:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getCTCCL:()Ljava/lang/ClassLoader;
            invokeinterface org.infinispan.commons.util.FileLookup.lookupFileLocation:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/net/URL;
            astore 3 /* ispnConfig */
        start local 3 // java.net.URL ispnConfig
         7: .line 241
            aload 3 /* ispnConfig */
            ifnonnull 10
         8: .line 242
            getstatic io.vertx.ext.cluster.infinispan.InfinispanClusterManager.log:Lio/vertx/core/impl/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Cannot find Infinispan config '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.ispnConfigPath:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "', using default"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
         9: .line 243
            aload 2 /* fileLookup */
            ldc "default-infinispan.xml"
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getCTCCL:()Ljava/lang/ClassLoader;
            invokeinterface org.infinispan.commons.util.FileLookup.lookupFileLocation:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/net/URL;
            astore 3 /* ispnConfig */
        10: .line 245
      StackMap locals: org.infinispan.commons.util.FileLookup java.net.URL
      StackMap stack:
            new org.infinispan.configuration.parsing.ParserRegistry
            dup
            invokespecial org.infinispan.configuration.parsing.ParserRegistry.<init>:()V
            aload 3 /* ispnConfig */
            invokevirtual org.infinispan.configuration.parsing.ParserRegistry.parse:(Ljava/net/URL;)Lorg/infinispan/configuration/parsing/ConfigurationBuilderHolder;
            astore 4 /* builderHolder */
        start local 4 // org.infinispan.configuration.parsing.ConfigurationBuilderHolder builderHolder
        11: .line 247
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getCTCCL:()Ljava/lang/ClassLoader;
            astore 5 /* classLoader */
        start local 5 // java.lang.ClassLoader classLoader
        12: .line 248
            aload 5 /* classLoader */
            ifnonnull 14
        13: .line 249
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            astore 5 /* classLoader */
        14: .line 251
      StackMap locals: org.infinispan.configuration.parsing.ConfigurationBuilderHolder java.lang.ClassLoader
      StackMap stack:
            aload 4 /* builderHolder */
            invokevirtual org.infinispan.configuration.parsing.ConfigurationBuilderHolder.getGlobalConfigurationBuilder:()Lorg/infinispan/configuration/global/GlobalConfigurationBuilder;
            aload 5 /* classLoader */
            invokevirtual org.infinispan.configuration.global.GlobalConfigurationBuilder.classLoader:(Ljava/lang/ClassLoader;)Lorg/infinispan/configuration/global/GlobalConfigurationBuilder;
            pop
        15: .line 253
            aload 2 /* fileLookup */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.jgroupsConfigPath:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getCTCCL:()Ljava/lang/ClassLoader;
            invokeinterface org.infinispan.commons.util.FileLookup.lookupFileLocation:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/net/URL;
            ifnull 20
        16: .line 254
            getstatic io.vertx.ext.cluster.infinispan.InfinispanClusterManager.log:Lio/vertx/core/impl/logging/Logger;
            new java.lang.StringBuilder
            dup
            ldc "Forcing JGroups config to '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.jgroupsConfigPath:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.vertx.core.impl.logging.Logger.warn:(Ljava/lang/Object;)V
        17: .line 255
            aload 4 /* builderHolder */
            invokevirtual org.infinispan.configuration.parsing.ConfigurationBuilderHolder.getGlobalConfigurationBuilder:()Lorg/infinispan/configuration/global/GlobalConfigurationBuilder;
            invokevirtual org.infinispan.configuration.global.GlobalConfigurationBuilder.transport:()Lorg/infinispan/configuration/global/TransportConfigurationBuilder;
            invokevirtual org.infinispan.configuration.global.TransportConfigurationBuilder.defaultTransport:()Lorg/infinispan/configuration/global/TransportConfigurationBuilder;
        18: .line 256
            ldc "channelConfigurator"
            invokevirtual org.infinispan.configuration.global.TransportConfigurationBuilder.removeProperty:(Ljava/lang/String;)Lorg/infinispan/configuration/global/TransportConfigurationBuilder;
        19: .line 257
            ldc "configurationFile"
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.jgroupsConfigPath:Ljava/lang/String;
            invokevirtual org.infinispan.configuration.global.TransportConfigurationBuilder.addProperty:(Ljava/lang/String;Ljava/lang/String;)Lorg/infinispan/configuration/global/TransportConfigurationBuilder;
            pop
        20: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.infinispan.manager.DefaultCacheManager
            dup
            aload 4 /* builderHolder */
            iconst_1
            invokespecial org.infinispan.manager.DefaultCacheManager.<init>:(Lorg/infinispan/configuration/parsing/ConfigurationBuilderHolder;Z)V
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
        end local 5 // java.lang.ClassLoader classLoader
        end local 4 // org.infinispan.configuration.parsing.ConfigurationBuilderHolder builderHolder
        end local 3 // java.net.URL ispnConfig
        end local 2 // org.infinispan.commons.util.FileLookup fileLookup
        21: .line 261
            goto 25
      StackMap locals: io.vertx.ext.cluster.infinispan.InfinispanClusterManager io.vertx.core.Promise
      StackMap stack: java.io.IOException
        22: astore 2 /* e */
        start local 2 // java.io.IOException e
        23: .line 262
            aload 1 /* prom */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        24: .line 263
            return
        end local 2 // java.io.IOException e
        25: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new io.vertx.ext.cluster.infinispan.InfinispanClusterManager$ClusterViewListener
            dup
            aload 0 /* this */
            invokespecial io.vertx.ext.cluster.infinispan.InfinispanClusterManager$ClusterViewListener.<init>:(Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;)V
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.viewListener:Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager$ClusterViewListener;
        26: .line 267
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.viewListener:Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager$ClusterViewListener;
            invokevirtual org.infinispan.manager.DefaultCacheManager.addListener:(Ljava/lang/Object;)V
        27: .line 270
            aload 0 /* this */
            new io.vertx.ext.cluster.infinispan.impl.SubsCacheHelper
            dup
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeSelector:Lio/vertx/core/spi/cluster/NodeSelector;
            invokespecial io.vertx.ext.cluster.infinispan.impl.SubsCacheHelper.<init>:(Lorg/infinispan/manager/DefaultCacheManager;Lio/vertx/core/spi/cluster/NodeSelector;)V
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
        28: .line 272
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            ldc "__vertx.nodeInfo"
            invokevirtual org.infinispan.manager.DefaultCacheManager.getCache:(Ljava/lang/String;)Lorg/infinispan/Cache;
            invokeinterface org.infinispan.Cache.getAdvancedCache:()Lorg/infinispan/AdvancedCache;
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.nodeInfoCache:Lorg/infinispan/AdvancedCache;
        29: .line 274
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokestatic org.infinispan.lock.EmbeddedClusteredLockManagerFactory.from:(Lorg/infinispan/manager/EmbeddedCacheManager;)Lorg/infinispan/lock/api/ClusteredLockManager;
            checkcast org.infinispan.lock.impl.manager.EmbeddedClusteredLockManager
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.lockManager:Lorg/infinispan/lock/impl/manager/EmbeddedClusteredLockManager;
        30: .line 275
            aload 0 /* this */
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokestatic org.infinispan.counter.EmbeddedCounterManagerFactory.asCounterManager:(Lorg/infinispan/manager/EmbeddedCacheManager;)Lorg/infinispan/counter/api/CounterManager;
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.counterManager:Lorg/infinispan/counter/api/CounterManager;
        31: .line 277
            aload 1 /* prom */
            invokeinterface io.vertx.core.Promise.complete:()V
        32: .line 278
            goto 35
      StackMap locals:
      StackMap stack: java.lang.Exception
        33: astore 2 /* e */
        start local 2 // java.lang.Exception e
        34: .line 279
            aload 1 /* prom */
            aload 2 /* e */
            invokeinterface io.vertx.core.Promise.fail:(Ljava/lang/Throwable;)V
        end local 2 // java.lang.Exception e
        35: .line 281
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.Promise prom
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   36     0           this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0   36     1           prom  Lio/vertx/core/Promise<Ljava/lang/Void;>;
            6   21     2     fileLookup  Lorg/infinispan/commons/util/FileLookup;
            7   21     3     ispnConfig  Ljava/net/URL;
           11   21     4  builderHolder  Lorg/infinispan/configuration/parsing/ConfigurationBuilderHolder;
           12   21     5    classLoader  Ljava/lang/ClassLoader;
           23   25     2              e  Ljava/io/IOException;
           34   35     2              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5    21      22  Class java.io.IOException
          27    32      33  Class java.lang.Exception

  private void lambda$8(io.vertx.core.Promise);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
        start local 1 // io.vertx.core.Promise prom
         0: .line 291
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.active:Z
            ifne 3
         1: .line 292
            aload 1 /* prom */
            invokeinterface io.vertx.core.Promise.complete:()V
         2: .line 293
            return
         3: .line 295
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.active:Z
         4: .line 296
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.subsCacheHelper:Lio/vertx/ext/cluster/infinispan/impl/SubsCacheHelper;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.SubsCacheHelper.close:()V
         5: .line 297
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.viewListener:Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager$ClusterViewListener;
            invokevirtual org.infinispan.manager.DefaultCacheManager.removeListener:(Ljava/lang/Object;)V
         6: .line 298
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.userProvidedCacheManager:Z
            ifne 8
         7: .line 299
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.InfinispanClusterManager.cacheManager:Lorg/infinispan/manager/DefaultCacheManager;
            invokevirtual org.infinispan.manager.DefaultCacheManager.stop:()V
         8: .line 301
      StackMap locals:
      StackMap stack:
            aload 1 /* prom */
            invokeinterface io.vertx.core.Promise.complete:()V
         9: .line 302
            return
        end local 1 // io.vertx.core.Promise prom
        end local 0 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            0   10     1  prom  Lio/vertx/core/Promise<Ljava/lang/Void;>;
}
SourceFile: "InfinispanClusterManager.java"
NestMembers:
  io.vertx.ext.cluster.infinispan.InfinispanClusterManager$ClusterViewListener
InnerClasses:
  private ClusterViewListener = io.vertx.ext.cluster.infinispan.InfinispanClusterManager$ClusterViewListener of io.vertx.ext.cluster.infinispan.InfinispanClusterManager
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final AdminFlag = org.infinispan.commons.api.CacheContainerAdmin$AdminFlag of org.infinispan.commons.api.CacheContainerAdmin
  public Builder = org.infinispan.counter.api.CounterConfiguration$Builder of org.infinispan.counter.api.CounterConfiguration