public class io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl implements io.vertx.ext.cluster.infinispan.ClusterHealthCheck
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl
  super_class: java.lang.Object
{
  private final io.vertx.core.Vertx vertx;
    descriptor: Lio/vertx/core/Vertx;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  public void <init>(io.vertx.core.Vertx, boolean);
    descriptor: (Lio/vertx/core/Vertx;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // boolean detailed
         0: .line 43
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 44
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.vertx:Lio/vertx/core/Vertx;
         2: .line 45
            aload 0 /* this */
            iload 2 /* detailed */
            putfield io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.detailed:Z
         3: .line 46
            return
        end local 2 // boolean detailed
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lio/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl;
            0    4     1     vertx  Lio/vertx/core/Vertx;
            0    4     2  detailed  Z
    MethodParameters:
          Name  Flags
      vertx     
      detailed  

  public void handle(io.vertx.core.Promise<io.vertx.ext.healthchecks.Status>);
    descriptor: (Lio/vertx/core/Promise;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
        start local 1 // io.vertx.core.Promise promise
         0: .line 50
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.vertx:Lio/vertx/core/Vertx;
            checkcast io.vertx.core.impl.VertxInternal
            astore 2 /* vertxInternal */
        start local 2 // io.vertx.core.impl.VertxInternal vertxInternal
         1: .line 51
            aload 2 /* vertxInternal */
            invokeinterface io.vertx.core.impl.VertxInternal.getClusterManager:()Lio/vertx/core/spi/cluster/ClusterManager;
            checkcast io.vertx.ext.cluster.infinispan.InfinispanClusterManager
            astore 3 /* clusterManager */
        start local 3 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager clusterManager
         2: .line 52
            aload 3 /* clusterManager */
            invokevirtual io.vertx.ext.cluster.infinispan.InfinispanClusterManager.getCacheContainer:()Lorg/infinispan/commons/api/BasicCacheContainer;
            checkcast org.infinispan.manager.EmbeddedCacheManager
            astore 4 /* cacheManager */
        start local 4 // org.infinispan.manager.EmbeddedCacheManager cacheManager
         3: .line 53
            aload 4 /* cacheManager */
            invokeinterface org.infinispan.manager.EmbeddedCacheManager.getHealth:()Lorg/infinispan/health/Health;
            astore 5 /* health */
        start local 5 // org.infinispan.health.Health health
         4: .line 54
            aload 5 /* health */
            invokeinterface org.infinispan.health.Health.getClusterHealth:()Lorg/infinispan/health/ClusterHealth;
            invokeinterface org.infinispan.health.ClusterHealth.getHealthStatus:()Lorg/infinispan/health/HealthStatus;
            astore 6 /* healthStatus */
        start local 6 // org.infinispan.health.HealthStatus healthStatus
         5: .line 55
            new io.vertx.ext.healthchecks.Status
            dup
            invokespecial io.vertx.ext.healthchecks.Status.<init>:()V
            aload 6 /* healthStatus */
            getstatic org.infinispan.health.HealthStatus.HEALTHY:Lorg/infinispan/health/HealthStatus;
            if_acmpne 6
            iconst_1
            goto 7
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl io.vertx.core.Promise io.vertx.core.impl.VertxInternal io.vertx.ext.cluster.infinispan.InfinispanClusterManager org.infinispan.manager.EmbeddedCacheManager org.infinispan.health.Health org.infinispan.health.HealthStatus
      StackMap stack: io.vertx.ext.healthchecks.Status
         6: iconst_0
      StackMap locals: io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl io.vertx.core.Promise io.vertx.core.impl.VertxInternal io.vertx.ext.cluster.infinispan.InfinispanClusterManager org.infinispan.manager.EmbeddedCacheManager org.infinispan.health.Health org.infinispan.health.HealthStatus
      StackMap stack: io.vertx.ext.healthchecks.Status int
         7: invokevirtual io.vertx.ext.healthchecks.Status.setOk:(Z)Lio/vertx/ext/healthchecks/Status;
            astore 7 /* status */
        start local 7 // io.vertx.ext.healthchecks.Status status
         8: .line 56
            aload 0 /* this */
            getfield io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.detailed:Z
            ifeq 10
         9: .line 57
            aload 7 /* status */
            aload 0 /* this */
            aload 5 /* health */
            invokevirtual io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.convert:(Lorg/infinispan/health/Health;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.ext.healthchecks.Status.setData:(Lio/vertx/core/json/JsonObject;)Lio/vertx/ext/healthchecks/Status;
            pop
        10: .line 59
      StackMap locals: io.vertx.ext.healthchecks.Status
      StackMap stack:
            aload 1 /* promise */
            aload 7 /* status */
            invokeinterface io.vertx.core.Promise.complete:(Ljava/lang/Object;)V
        11: .line 60
            return
        end local 7 // io.vertx.ext.healthchecks.Status status
        end local 6 // org.infinispan.health.HealthStatus healthStatus
        end local 5 // org.infinispan.health.Health health
        end local 4 // org.infinispan.manager.EmbeddedCacheManager cacheManager
        end local 3 // io.vertx.ext.cluster.infinispan.InfinispanClusterManager clusterManager
        end local 2 // io.vertx.core.impl.VertxInternal vertxInternal
        end local 1 // io.vertx.core.Promise promise
        end local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lio/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl;
            0   12     1         promise  Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;
            1   12     2   vertxInternal  Lio/vertx/core/impl/VertxInternal;
            2   12     3  clusterManager  Lio/vertx/ext/cluster/infinispan/InfinispanClusterManager;
            3   12     4    cacheManager  Lorg/infinispan/manager/EmbeddedCacheManager;
            4   12     5          health  Lorg/infinispan/health/Health;
            5   12     6    healthStatus  Lorg/infinispan/health/HealthStatus;
            8   12     7          status  Lio/vertx/ext/healthchecks/Status;
    Signature: (Lio/vertx/core/Promise<Lio/vertx/ext/healthchecks/Status;>;)V
    MethodParameters:
         Name  Flags
      promise  

  private io.vertx.core.json.JsonObject convert(org.infinispan.health.Health);
    descriptor: (Lorg/infinispan/health/Health;)Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
        start local 1 // org.infinispan.health.Health health
         0: .line 63
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
         1: .line 64
            ldc "clusterHealth"
            aload 0 /* this */
            aload 1 /* health */
            invokeinterface org.infinispan.health.Health.getClusterHealth:()Lorg/infinispan/health/ClusterHealth;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.convert:(Lorg/infinispan/health/ClusterHealth;)Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         2: .line 65
            ldc "cacheHealth"
            aload 0 /* this */
            aload 1 /* health */
            invokeinterface org.infinispan.health.Health.getCacheHealth:()Ljava/util/List;
            invokevirtual io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.convert:(Ljava/util/List;)Lio/vertx/core/json/JsonArray;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         3: .line 63
            areturn
        end local 1 // org.infinispan.health.Health health
        end local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lio/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl;
            0    4     1  health  Lorg/infinispan/health/Health;
    MethodParameters:
        Name  Flags
      health  

  private io.vertx.core.json.JsonObject convert(org.infinispan.health.ClusterHealth);
    descriptor: (Lorg/infinispan/health/ClusterHealth;)Lio/vertx/core/json/JsonObject;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
        start local 1 // org.infinispan.health.ClusterHealth clusterHealth
         0: .line 69
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
         1: .line 70
            ldc "healthStatus"
            aload 1 /* clusterHealth */
            invokeinterface org.infinispan.health.ClusterHealth.getHealthStatus:()Lorg/infinispan/health/HealthStatus;
            invokevirtual org.infinispan.health.HealthStatus.name:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         2: .line 71
            ldc "clusterName"
            aload 1 /* clusterHealth */
            invokeinterface org.infinispan.health.ClusterHealth.getClusterName:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         3: .line 72
            ldc "numberOfNodes"
            aload 1 /* clusterHealth */
            invokeinterface org.infinispan.health.ClusterHealth.getNumberOfNodes:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         4: .line 73
            ldc "nodeNames"
            aload 1 /* clusterHealth */
            invokeinterface org.infinispan.health.ClusterHealth.getNodeNames:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         5: .line 74
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/vertx/core/json/JsonArray.<init>()V (8)
                  ()Lio/vertx/core/json/JsonArray;
            invokedynamic accept()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/core/json/JsonArray.add(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray; (5)
                  (Lio/vertx/core/json/JsonArray;Ljava/lang/String;)V
            invokedynamic accept()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/core/json/JsonArray.addAll(Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray; (5)
                  (Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;)V
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;
         6: .line 73
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         7: .line 69
            areturn
        end local 1 // org.infinispan.health.ClusterHealth clusterHealth
        end local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lio/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl;
            0    8     1  clusterHealth  Lorg/infinispan/health/ClusterHealth;
    MethodParameters:
               Name  Flags
      clusterHealth  

  private io.vertx.core.json.JsonArray convert(java.util.List<org.infinispan.health.CacheHealth>);
    descriptor: (Ljava/util/List;)Lio/vertx/core/json/JsonArray;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
        start local 1 // java.util.List cacheHealths
         0: .line 78
            aload 1 /* cacheHealths */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 79
            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;
                  io/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl.lambda$3(Lorg/infinispan/health/CacheHealth;)Lio/vertx/core/json/JsonObject; (6)
                  (Lorg/infinispan/health/CacheHealth;)Lio/vertx/core/json/JsonObject;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 82
            invokedynamic get()Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  io/vertx/core/json/JsonArray.<init>()V (8)
                  ()Lio/vertx/core/json/JsonArray;
            invokedynamic accept()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/core/json/JsonArray.add(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray; (5)
                  (Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonObject;)V
            invokedynamic accept()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/core/json/JsonArray.addAll(Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray; (5)
                  (Lio/vertx/core/json/JsonArray;Lio/vertx/core/json/JsonArray;)V
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BiConsumer;)Ljava/lang/Object;
            checkcast io.vertx.core.json.JsonArray
         3: .line 78
            areturn
        end local 1 // java.util.List cacheHealths
        end local 0 // io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/vertx/ext/cluster/infinispan/impl/ClusterHealthCheckImpl;
            0    4     1  cacheHealths  Ljava/util/List<Lorg/infinispan/health/CacheHealth;>;
    Signature: (Ljava/util/List<Lorg/infinispan/health/CacheHealth;>;)Lio/vertx/core/json/JsonArray;
    MethodParameters:
              Name  Flags
      cacheHealths  

  public void handle(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast io.vertx.core.Promise
            invokevirtual io.vertx.ext.cluster.infinispan.impl.ClusterHealthCheckImpl.handle:(Lio/vertx/core/Promise;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static io.vertx.core.json.JsonObject lambda$3(org.infinispan.health.CacheHealth);
    descriptor: (Lorg/infinispan/health/CacheHealth;)Lio/vertx/core/json/JsonObject;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.infinispan.health.CacheHealth cacheHealth
         0: .line 79
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
         1: .line 80
            ldc "cacheName"
            aload 0 /* cacheHealth */
            invokeinterface org.infinispan.health.CacheHealth.getCacheName:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
         2: .line 81
            ldc "status"
            aload 0 /* cacheHealth */
            invokeinterface org.infinispan.health.CacheHealth.getStatus:()Lorg/infinispan/health/HealthStatus;
            invokevirtual org.infinispan.health.HealthStatus.name:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            areturn
        end local 0 // org.infinispan.health.CacheHealth cacheHealth
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0  cacheHealth  Lorg/infinispan/health/CacheHealth;
}
SourceFile: "ClusterHealthCheckImpl.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles