public class io.vertx.servicediscovery.backend.redis.RedisBackendService implements io.vertx.servicediscovery.spi.ServiceDiscoveryBackend
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.vertx.servicediscovery.backend.redis.RedisBackendService
  super_class: java.lang.Object
{
  private io.vertx.redis.client.Redis redis;
    descriptor: Lio/vertx/redis/client/Redis;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String key;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  public void init(io.vertx.core.Vertx, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/core/Vertx;Lio/vertx/core/json/JsonObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.json.JsonObject configuration
         0: .line 48
            aload 0 /* this */
            aload 2 /* configuration */
            ldc "key"
            ldc "records"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            putfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
         1: .line 49
            aload 0 /* this */
            aload 1 /* vertx */
            new io.vertx.redis.client.RedisOptions
            dup
            aload 2 /* configuration */
            invokespecial io.vertx.redis.client.RedisOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            invokestatic io.vertx.redis.client.Redis.createClient:(Lio/vertx/core/Vertx;Lio/vertx/redis/client/RedisOptions;)Lio/vertx/redis/client/Redis;
            putfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
         2: .line 50
            return
        end local 2 // io.vertx.core.json.JsonObject configuration
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    3     1          vertx  Lio/vertx/core/Vertx;
            0    3     2  configuration  Lio/vertx/core/json/JsonObject;
    MethodParameters:
               Name  Flags
      vertx          
      configuration  

  public void store(io.vertx.servicediscovery.Record, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>);
    descriptor: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 54
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ifnull 3
         1: .line 55
            aload 2 /* resultHandler */
            ldc "The record has already been registered"
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 56
            return
         3: .line 58
      StackMap locals:
      StackMap stack:
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            astore 3 /* uuid */
        start local 3 // java.lang.String uuid
         4: .line 59
            aload 1 /* record */
            aload 3 /* uuid */
            invokevirtual io.vertx.servicediscovery.Record.setRegistration:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         5: .line 61
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HSET:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 3 /* uuid */
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.toJson:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 2 /* resultHandler */
            aload 1 /* record */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/servicediscovery/Record;)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/servicediscovery/backend/redis/RedisBackendService.lambda$0(Lio/vertx/core/Handler;Lio/vertx/servicediscovery/Record;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         6: .line 68
            return
        end local 3 // java.lang.String uuid
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    7     1         record  Lio/vertx/servicediscovery/Record;
            0    7     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
            4    7     3           uuid  Ljava/lang/String;
    Signature: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;)V
    MethodParameters:
               Name  Flags
      record         
      resultHandler  

  public void remove(io.vertx.servicediscovery.Record, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>);
    descriptor: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 72
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ldc "No registration id in the record"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 73
            aload 0 /* this */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            aload 2 /* resultHandler */
            invokevirtual io.vertx.servicediscovery.backend.redis.RedisBackendService.remove:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         2: .line 74
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    3     1         record  Lio/vertx/servicediscovery/Record;
            0    3     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
    Signature: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;)V
    MethodParameters:
               Name  Flags
      record         
      resultHandler  

  public void remove(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // java.lang.String uuid
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 78
            aload 1 /* uuid */
            ldc "No registration id in the record"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 80
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HGET:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* uuid */
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            aload 1 /* uuid */
            aload 2 /* resultHandler */
            invokedynamic handle(Lio/vertx/servicediscovery/backend/redis/RedisBackendService;Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/servicediscovery/backend/redis/RedisBackendService.lambda$1(Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         2: .line 97
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String uuid
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    3     1           uuid  Ljava/lang/String;
            0    3     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;)V
    MethodParameters:
               Name  Flags
      uuid           
      resultHandler  

  public void update(io.vertx.servicediscovery.Record, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>>);
    descriptor: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 101
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ldc "No registration id in the record"
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 102
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HSET:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.toJson:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 2 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/servicediscovery/backend/redis/RedisBackendService.lambda$3(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         2: .line 109
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    3     1         record  Lio/vertx/servicediscovery/Record;
            0    3     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;
    Signature: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/lang/Void;>;>;)V
    MethodParameters:
               Name  Flags
      record         
      resultHandler  

  public void getRecords(io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.servicediscovery.Record>>>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 113
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HGETALL:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/servicediscovery/backend/redis/RedisBackendService.lambda$4(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         1: .line 123
            return
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    2     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/servicediscovery/Record;>;>;>;
    Signature: (Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/servicediscovery/Record;>;>;>;)V
    MethodParameters:
               Name  Flags
      resultHandler  

  public void getRecord(java.lang.String, io.vertx.core.Handler<io.vertx.core.AsyncResult<io.vertx.servicediscovery.Record>>);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 1 // java.lang.String uuid
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 127
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HGET:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1 /* uuid */
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 2 /* resultHandler */
            invokedynamic handle(Lio/vertx/core/Handler;)Lio/vertx/core/Handler;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  io/vertx/servicediscovery/backend/redis/RedisBackendService.lambda$6(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         1: .line 138
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String uuid
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    2     1           uuid  Ljava/lang/String;
            0    2     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
    Signature: (Ljava/lang/String;Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;)V
    MethodParameters:
               Name  Flags
      uuid           
      resultHandler  

  private static void lambda$0(io.vertx.core.Handler, io.vertx.servicediscovery.Record, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/servicediscovery/Record;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult ar
         0: .line 62
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 63
            aload 0
            aload 1
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 64
            goto 4
         3: .line 65
      StackMap locals:
      StackMap stack:
            aload 0
            aload 2 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 67
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     2    ar  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private void lambda$1(java.lang.String, io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Ljava/lang/String;Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
        start local 3 // io.vertx.core.AsyncResult ar
         0: .line 81
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 6
         1: .line 82
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            ifnull 4
         2: .line 83
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.redis:Lio/vertx/redis/client/Redis;
            getstatic io.vertx.redis.client.Command.HDEL:Lio/vertx/redis/client/Command;
            invokestatic io.vertx.redis.client.Request.cmd:(Lio/vertx/redis/client/Command;)Lio/vertx/redis/client/Request;
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.redis.RedisBackendService.key:Ljava/lang/String;
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 1
            invokeinterface io.vertx.redis.client.Request.arg:(Ljava/lang/String;)Lio/vertx/redis/client/Request;
            aload 2
            aload 3 /* ar */
            invokedynamic handle(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)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/servicediscovery/backend/redis/RedisBackendService.lambda$2(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V (6)
                  (Lio/vertx/core/AsyncResult;)V
            invokeinterface io.vertx.redis.client.Redis.send:(Lio/vertx/redis/client/Request;Lio/vertx/core/Handler;)Lio/vertx/redis/client/Redis;
            pop
         3: .line 90
            goto 7
         4: .line 91
      StackMap locals:
      StackMap stack:
            aload 2
            new java.lang.StringBuilder
            dup
            ldc "Record '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' not found"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/String;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 93
            goto 7
         6: .line 94
      StackMap locals:
      StackMap stack:
            aload 2
            aload 3 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.core.AsyncResult ar
        end local 0 // io.vertx.servicediscovery.backend.redis.RedisBackendService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lio/vertx/servicediscovery/backend/redis/RedisBackendService;
            0    8     3    ar  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static void lambda$3(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 103
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 104
            aload 0
            invokestatic io.vertx.core.Future.succeededFuture:()Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 105
            goto 4
         3: .line 106
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 108
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1    ar  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static void lambda$4(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 114
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 7
         1: .line 115
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.redis.client.Response
            astore 2 /* entries */
        start local 2 // io.vertx.redis.client.Response entries
         2: .line 116
            aload 0
            aload 2 /* entries */
            invokeinterface io.vertx.redis.client.Response.getKeys:()Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         3: .line 117
            aload 2 /* entries */
            invokedynamic apply(Lio/vertx/redis/client/Response;)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/servicediscovery/backend/redis/RedisBackendService.lambda$5(Lio/vertx/redis/client/Response;Ljava/lang/String;)Lio/vertx/servicediscovery/Record; (6)
                  (Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         4: .line 118
            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
         5: .line 116
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
        end local 2 // io.vertx.redis.client.Response entries
         6: .line 119
            goto 8
         7: .line 120
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         8: .line 122
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     1       ar  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;
            2    6     2  entries  Lio/vertx/redis/client/Response;

  private static void lambda$6(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
        start local 1 // io.vertx.core.AsyncResult ar
         0: .line 128
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 6
         1: .line 129
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            ifnull 4
         2: .line 130
            aload 0
            new io.vertx.servicediscovery.Record
            dup
            new io.vertx.core.json.JsonObject
            dup
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.redis.client.Response
            invokeinterface io.vertx.redis.client.Response.toBuffer:()Lio/vertx/core/buffer/Buffer;
            invokespecial io.vertx.core.json.JsonObject.<init>:(Lio/vertx/core/buffer/Buffer;)V
            invokespecial io.vertx.servicediscovery.Record.<init>:(Lio/vertx/core/json/JsonObject;)V
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         3: .line 131
            goto 7
         4: .line 132
      StackMap locals:
      StackMap stack:
            aload 0
            aconst_null
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         5: .line 134
            goto 7
         6: .line 135
      StackMap locals:
      StackMap stack:
            aload 0
            aload 1 /* ar */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         7: .line 137
      StackMap locals:
      StackMap stack:
            return
        end local 1 // io.vertx.core.AsyncResult ar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     1    ar  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static void lambda$2(io.vertx.core.Handler, io.vertx.core.AsyncResult, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;Lio/vertx/core/AsyncResult;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 2 // io.vertx.core.AsyncResult deletion
         0: .line 84
            aload 2 /* deletion */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 85
            aload 0
            new io.vertx.servicediscovery.Record
            dup
            new io.vertx.core.json.JsonObject
            dup
            aload 1
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.redis.client.Response
            invokeinterface io.vertx.redis.client.Response.toBuffer:()Lio/vertx/core/buffer/Buffer;
            invokespecial io.vertx.core.json.JsonObject.<init>:(Lio/vertx/core/buffer/Buffer;)V
            invokespecial io.vertx.servicediscovery.Record.<init>:(Lio/vertx/core/json/JsonObject;)V
            invokestatic io.vertx.core.Future.succeededFuture:(Ljava/lang/Object;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         2: .line 86
            goto 4
         3: .line 87
      StackMap locals:
      StackMap stack:
            aload 0
            aload 2 /* deletion */
            invokeinterface io.vertx.core.AsyncResult.cause:()Ljava/lang/Throwable;
            invokestatic io.vertx.core.Future.failedFuture:(Ljava/lang/Throwable;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Handler.handle:(Ljava/lang/Object;)V
         4: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult deletion
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     2  deletion  Lio/vertx/core/AsyncResult<Lio/vertx/redis/client/Response;>;

  private static io.vertx.servicediscovery.Record lambda$5(io.vertx.redis.client.Response, java.lang.String);
    descriptor: (Lio/vertx/redis/client/Response;Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=2
        start local 1 // java.lang.String key
         0: .line 117
            new io.vertx.servicediscovery.Record
            dup
            new io.vertx.core.json.JsonObject
            dup
            aload 0
            aload 1 /* key */
            invokeinterface io.vertx.redis.client.Response.get:(Ljava/lang/String;)Lio/vertx/redis/client/Response;
            invokeinterface io.vertx.redis.client.Response.toBuffer:()Lio/vertx/core/buffer/Buffer;
            invokespecial io.vertx.core.json.JsonObject.<init>:(Lio/vertx/core/buffer/Buffer;)V
            invokespecial io.vertx.servicediscovery.Record.<init>:(Lio/vertx/core/json/JsonObject;)V
            areturn
        end local 1 // java.lang.String key
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1   key  Ljava/lang/String;
}
SourceFile: "RedisBackendService.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles