public class io.vertx.servicediscovery.backend.consul.ConsulBackendService 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.consul.ConsulBackendService
  super_class: java.lang.Object
{
  private io.vertx.ext.consul.ConsulClient client;
    descriptor: Lio/vertx/ext/consul/ConsulClient;
    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.consul.ConsulBackendService this
         0: .line 55
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;

  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=3, locals=4, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.core.Vertx vertx
        start local 2 // io.vertx.core.json.JsonObject config
         0: .line 61
            new io.vertx.ext.consul.ConsulClientOptions
            dup
            aload 2 /* config */
            invokespecial io.vertx.ext.consul.ConsulClientOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            astore 3 /* opt */
        start local 3 // io.vertx.ext.consul.ConsulClientOptions opt
         1: .line 62
            aload 0 /* this */
            aload 1 /* vertx */
            aload 3 /* opt */
            invokestatic io.vertx.ext.consul.ConsulClient.create:(Lio/vertx/core/Vertx;Lio/vertx/ext/consul/ConsulClientOptions;)Lio/vertx/ext/consul/ConsulClient;
            putfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
         2: .line 63
            return
        end local 3 // io.vertx.ext.consul.ConsulClientOptions opt
        end local 2 // io.vertx.core.json.JsonObject config
        end local 1 // io.vertx.core.Vertx vertx
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    3     1   vertx  Lio/vertx/core/Vertx;
            0    3     2  config  Lio/vertx/core/json/JsonObject;
            1    3     3     opt  Lio/vertx/ext/consul/ConsulClientOptions;
    MethodParameters:
        Name  Flags
      vertx   
      config  

  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=3, locals=6, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 67
            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
         1: .line 68
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ifnull 3
         2: .line 69
            new java.lang.IllegalArgumentException
            dup
            ldc "The record has already been registered"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 71
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* record */
            aload 3 /* uuid */
            invokevirtual io.vertx.servicediscovery.backend.consul.ConsulBackendService.recordToServiceOptions:(Lio/vertx/servicediscovery/Record;Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            astore 4 /* serviceOptions */
        start local 4 // io.vertx.ext.consul.ServiceOptions serviceOptions
         4: .line 72
            aload 1 /* record */
            aload 4 /* serviceOptions */
            invokevirtual io.vertx.ext.consul.ServiceOptions.getId:()Ljava/lang/String;
            invokevirtual io.vertx.servicediscovery.Record.setRegistration:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         5: .line 73
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 5 /* registration */
        start local 5 // io.vertx.core.Promise registration
         6: .line 74
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 4 /* serviceOptions */
            aload 5 /* registration */
            invokeinterface io.vertx.ext.consul.ConsulClient.registerService:(Lio/vertx/ext/consul/ServiceOptions;Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         7: .line 75
            aload 5 /* registration */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 1 /* record */
            invokeinterface io.vertx.core.Future.map:(Ljava/lang/Object;)Lio/vertx/core/Future;
            aload 2 /* resultHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         8: .line 76
            return
        end local 5 // io.vertx.core.Promise registration
        end local 4 // io.vertx.ext.consul.ServiceOptions serviceOptions
        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.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    9     0            this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    9     1          record  Lio/vertx/servicediscovery/Record;
            0    9     2   resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
            1    9     3            uuid  Ljava/lang/String;
            4    9     4  serviceOptions  Lio/vertx/ext/consul/ServiceOptions;
            6    9     5    registration  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    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=4, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 80
            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 81
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* deregistration */
        start local 3 // io.vertx.core.Promise deregistration
         2: .line 82
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            aload 3 /* deregistration */
            invokeinterface io.vertx.ext.consul.ConsulClient.deregisterService:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         3: .line 83
            aload 3 /* deregistration */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 1 /* record */
            invokeinterface io.vertx.core.Future.map:(Ljava/lang/Object;)Lio/vertx/core/Future;
            aload 2 /* resultHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         4: .line 84
            return
        end local 3 // io.vertx.core.Promise deregistration
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    5     1          record  Lio/vertx/servicediscovery/Record;
            0    5     2   resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
            2    5     3  deregistration  Lio/vertx/core/Promise<Ljava/lang/Void;>;
    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=4, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // java.lang.String uuid
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 88
            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 89
            aload 0 /* this */
            aload 1 /* uuid */
            aload 0 /* this */
            aload 2 /* resultHandler */
            invokedynamic handle(Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;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/consul/ConsulBackendService.lambda$0(Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V (7)
                  (Lio/vertx/core/AsyncResult;)V
            invokevirtual io.vertx.servicediscovery.backend.consul.ConsulBackendService.getRecord:(Ljava/lang/String;Lio/vertx/core/Handler;)V
         2: .line 96
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String uuid
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            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=4, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 100
            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 101
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 0 /* this */
            aload 1 /* record */
            aconst_null
            invokevirtual io.vertx.servicediscovery.backend.consul.ConsulBackendService.recordToServiceOptions:(Lio/vertx/servicediscovery/Record;Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            aload 2 /* resultHandler */
            invokeinterface io.vertx.ext.consul.ConsulClient.registerService:(Lio/vertx/ext/consul/ServiceOptions;Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         2: .line 102
            return
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            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=2, locals=3, args_size=2
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.core.Handler resultHandler
         0: .line 106
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* nameList */
        start local 2 // io.vertx.core.Promise nameList
         1: .line 107
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 2 /* nameList */
            invokeinterface io.vertx.ext.consul.ConsulClient.catalogServices:(Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         2: .line 108
            aload 2 /* nameList */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            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/consul/ServiceList.getList()Ljava/util/List; (5)
                  (Lio/vertx/ext/consul/ServiceList;)Ljava/util/List;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         3: .line 109
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;)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/consul/ConsulBackendService.lambda$2(Ljava/util/List;)Ljava/util/List; (7)
                  (Ljava/util/List;)Ljava/util/List;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         4: .line 124
            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/core/CompositeFuture.all(Ljava/util/List;)Lio/vertx/core/CompositeFuture; (6 itf)
                  (Ljava/util/List;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         5: .line 125
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;)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/consul/ConsulBackendService.lambda$5(Lio/vertx/core/CompositeFuture;)Ljava/util/List; (7)
                  (Lio/vertx/core/CompositeFuture;)Ljava/util/List;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         6: .line 126
            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/core/CompositeFuture.all(Ljava/util/List;)Lio/vertx/core/CompositeFuture; (6 itf)
                  (Ljava/util/List;)Lio/vertx/core/Future;
            invokeinterface io.vertx.core.Future.compose:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         7: .line 127
            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/servicediscovery/backend/consul/ConsulBackendService.lambda$9(Lio/vertx/core/CompositeFuture;)Ljava/util/List; (6)
                  (Lio/vertx/core/CompositeFuture;)Ljava/util/List;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         8: .line 128
            aload 1 /* resultHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         9: .line 130
            return
        end local 2 // io.vertx.core.Promise nameList
        end local 1 // io.vertx.core.Handler resultHandler
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   10     0           this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0   10     1  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Ljava/util/List<Lio/vertx/servicediscovery/Record;>;>;>;
            1   10     2       nameList  Lio/vertx/core/Promise<Lio/vertx/ext/consul/ServiceList;>;
    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=2, locals=4, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // java.lang.String uuid
        start local 2 // io.vertx.core.Handler resultHandler
         0: .line 134
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 3 /* recordList */
        start local 3 // io.vertx.core.Promise recordList
         1: .line 135
            aload 0 /* this */
            aload 3 /* recordList */
            invokevirtual io.vertx.servicediscovery.backend.consul.ConsulBackendService.getRecords:(Lio/vertx/core/Handler;)V
         2: .line 136
            aload 3 /* recordList */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            aload 1 /* uuid */
            invokedynamic apply(Ljava/lang/String;)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/consul/ConsulBackendService.lambda$11(Ljava/lang/String;Ljava/util/List;)Lio/vertx/servicediscovery/Record; (6)
                  (Ljava/util/List;)Lio/vertx/servicediscovery/Record;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
            aload 2 /* resultHandler */
            invokeinterface io.vertx.core.Future.onComplete:(Lio/vertx/core/Handler;)Lio/vertx/core/Future;
            pop
         3: .line 137
            return
        end local 3 // io.vertx.core.Promise recordList
        end local 2 // io.vertx.core.Handler resultHandler
        end local 1 // java.lang.String uuid
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    4     1           uuid  Ljava/lang/String;
            0    4     2  resultHandler  Lio/vertx/core/Handler<Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;>;
            1    4     3     recordList  Lio/vertx/core/Promise<Ljava/util/List<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 close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
         0: .line 140
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            invokeinterface io.vertx.ext.consul.ConsulClient.close:()V
         1: .line 141
            return
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;

  private io.vertx.ext.consul.ServiceOptions recordToServiceOptions(io.vertx.servicediscovery.Record, java.lang.String);
    descriptor: (Lio/vertx/servicediscovery/Record;Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.servicediscovery.Record record
        start local 2 // java.lang.String uuid
         0: .line 145
            new io.vertx.ext.consul.ServiceOptions
            dup
            invokespecial io.vertx.ext.consul.ServiceOptions.<init>:()V
            astore 3 /* serviceOptions */
        start local 3 // io.vertx.ext.consul.ServiceOptions serviceOptions
         1: .line 146
            aload 3 /* serviceOptions */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getName:()Ljava/lang/String;
            invokevirtual io.vertx.ext.consul.ServiceOptions.setName:(Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            pop
         2: .line 147
            new io.vertx.core.json.JsonArray
            dup
            invokespecial io.vertx.core.json.JsonArray.<init>:()V
            astore 4 /* tags */
        start local 4 // io.vertx.core.json.JsonArray tags
         3: .line 148
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ifnull 10
         4: .line 149
            aload 4 /* tags */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ldc "tags"
            new io.vertx.core.json.JsonArray
            dup
            invokespecial io.vertx.core.json.JsonArray.<init>:()V
            invokevirtual io.vertx.core.json.JsonObject.getJsonArray:(Ljava/lang/String;Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray;
            invokevirtual io.vertx.core.json.JsonArray.addAll:(Lio/vertx/core/json/JsonArray;)Lio/vertx/core/json/JsonArray;
            pop
         5: .line 151
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ifnonnull 8
         6: .line 152
            aload 3 /* serviceOptions */
            new io.vertx.ext.consul.CheckOptions
            dup
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ldc "checkoptions"
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            invokevirtual io.vertx.core.json.JsonObject.getJsonObject:(Ljava/lang/String;Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            invokespecial io.vertx.ext.consul.CheckOptions.<init>:(Lio/vertx/core/json/JsonObject;)V
            invokevirtual io.vertx.ext.consul.ServiceOptions.setCheckOptions:(Lio/vertx/ext/consul/CheckOptions;)Lio/vertx/ext/consul/ServiceOptions;
            pop
         7: .line 153
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ldc "checkoptions"
            invokevirtual io.vertx.core.json.JsonObject.remove:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         8: .line 155
      StackMap locals: io.vertx.ext.consul.ServiceOptions io.vertx.core.json.JsonArray
      StackMap stack:
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ldc "tags"
            invokevirtual io.vertx.core.json.JsonObject.remove:(Ljava/lang/String;)Ljava/lang/Object;
            pop
         9: .line 157
            aload 4 /* tags */
            new java.lang.StringBuilder
            dup
            ldc "metadata:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        10: .line 159
      StackMap locals:
      StackMap stack:
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            ifnull 13
        11: .line 160
            aload 3 /* serviceOptions */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            invokevirtual io.vertx.ext.consul.ServiceOptions.setId:(Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            pop
        12: .line 161
            goto 14
        13: .line 162
      StackMap locals:
      StackMap stack:
            aload 3 /* serviceOptions */
            aload 2 /* uuid */
            invokevirtual io.vertx.ext.consul.ServiceOptions.setId:(Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            pop
        14: .line 165
      StackMap locals:
      StackMap stack:
            aload 4 /* tags */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getType:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonArray.contains:(Ljava/lang/Object;)Z
            ifne 16
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getType:()Ljava/lang/String;
            ifnull 16
        15: .line 166
            aload 4 /* tags */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getType:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        16: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            ifnull 22
        17: .line 170
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            ldc "host"
            invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
            ifeq 19
        18: .line 171
            aload 3 /* serviceOptions */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            ldc "host"
            invokevirtual io.vertx.core.json.JsonObject.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual io.vertx.ext.consul.ServiceOptions.setAddress:(Ljava/lang/String;)Lio/vertx/ext/consul/ServiceOptions;
            pop
        19: .line 173
      StackMap locals:
      StackMap stack:
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            ldc "port"
            invokevirtual io.vertx.core.json.JsonObject.containsKey:(Ljava/lang/String;)Z
            ifeq 21
        20: .line 174
            aload 3 /* serviceOptions */
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            ldc "port"
            invokevirtual io.vertx.core.json.JsonObject.getInteger:(Ljava/lang/String;)Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual io.vertx.ext.consul.ServiceOptions.setPort:(I)Lio/vertx/ext/consul/ServiceOptions;
            pop
        21: .line 177
      StackMap locals:
      StackMap stack:
            aload 4 /* tags */
            new java.lang.StringBuilder
            dup
            ldc "location:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            invokevirtual io.vertx.core.json.JsonObject.encode:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual io.vertx.core.json.JsonArray.add:(Ljava/lang/Object;)Lio/vertx/core/json/JsonArray;
            pop
        22: .line 179
      StackMap locals:
      StackMap stack:
            aload 3 /* serviceOptions */
            aload 4 /* tags */
            invokevirtual io.vertx.core.json.JsonArray.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/String.valueOf(Ljava/lang/Object;)Ljava/lang/String; (6)
                  (Ljava/lang/Object;)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
            invokevirtual io.vertx.ext.consul.ServiceOptions.setTags:(Ljava/util/List;)Lio/vertx/ext/consul/ServiceOptions;
            pop
        23: .line 180
            aload 3 /* serviceOptions */
            areturn
        end local 4 // io.vertx.core.json.JsonArray tags
        end local 3 // io.vertx.ext.consul.ServiceOptions serviceOptions
        end local 2 // java.lang.String uuid
        end local 1 // io.vertx.servicediscovery.Record record
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0   24     1          record  Lio/vertx/servicediscovery/Record;
            0   24     2            uuid  Ljava/lang/String;
            1   24     3  serviceOptions  Lio/vertx/ext/consul/ServiceOptions;
            3   24     4            tags  Lio/vertx/core/json/JsonArray;
    MethodParameters:
        Name  Flags
      record  
      uuid    

  private io.vertx.core.Future serviceToRecord(io.vertx.ext.consul.Service);
    descriptor: (Lio/vertx/ext/consul/Service;)Lio/vertx/core/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.ext.consul.Service service
         0: .line 186
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 2 /* checkListFuture */
        start local 2 // io.vertx.core.Promise checkListFuture
         1: .line 187
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 1 /* service */
            invokevirtual io.vertx.ext.consul.Service.getName:()Ljava/lang/String;
            aload 2 /* checkListFuture */
            invokeinterface io.vertx.ext.consul.ConsulClient.healthChecks:(Ljava/lang/String;Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         2: .line 188
            aload 2 /* checkListFuture */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            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/servicediscovery/backend/consul/ConsulBackendService.lambda$14(Lio/vertx/ext/consul/CheckList;)Ljava/lang/Boolean; (6)
                  (Lio/vertx/ext/consul/CheckList;)Ljava/lang/Boolean;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         3: .line 189
            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/servicediscovery/backend/consul/ConsulBackendService.lambda$17(Ljava/lang/Boolean;)Lio/vertx/servicediscovery/Record; (6)
                  (Ljava/lang/Boolean;)Lio/vertx/servicediscovery/Record;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         4: .line 190
            aload 1 /* service */
            invokedynamic apply(Lio/vertx/ext/consul/Service;)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/consul/ConsulBackendService.lambda$18(Lio/vertx/ext/consul/Service;Lio/vertx/servicediscovery/Record;)Lio/vertx/servicediscovery/Record; (6)
                  (Lio/vertx/servicediscovery/Record;)Lio/vertx/servicediscovery/Record;
            invokeinterface io.vertx.core.Future.map:(Ljava/util/function/Function;)Lio/vertx/core/Future;
         5: .line 188
            areturn
        end local 2 // io.vertx.core.Promise checkListFuture
        end local 1 // io.vertx.ext.consul.Service service
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    6     1          service  Lio/vertx/ext/consul/Service;
            1    6     2  checkListFuture  Lio/vertx/core/Promise<Lio/vertx/ext/consul/CheckList;>;
    MethodParameters:
         Name  Flags
      service  

  private void lambda$0(io.vertx.core.Handler, io.vertx.core.AsyncResult);
    descriptor: (Lio/vertx/core/Handler;Lio/vertx/core/AsyncResult;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 2 // io.vertx.core.AsyncResult asyncRecord
         0: .line 90
            aload 2 /* asyncRecord */
            invokeinterface io.vertx.core.AsyncResult.succeeded:()Z
            ifeq 3
         1: .line 91
            aload 0 /* this */
            aload 2 /* asyncRecord */
            invokeinterface io.vertx.core.AsyncResult.result:()Ljava/lang/Object;
            checkcast io.vertx.servicediscovery.Record
            aload 1
            invokevirtual io.vertx.servicediscovery.backend.consul.ConsulBackendService.remove:(Lio/vertx/servicediscovery/Record;Lio/vertx/core/Handler;)V
         2: .line 92
            goto 4
         3: .line 93
      StackMap locals:
      StackMap stack:
            aload 1
            aload 2 /* asyncRecord */
            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 95
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.core.AsyncResult asyncRecord
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    5     2  asyncRecord  Lio/vertx/core/AsyncResult<Lio/vertx/servicediscovery/Record;>;

  private java.util.List lambda$2(java.util.List);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // java.util.List l
         0: .line 110
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* recordFutureList */
        start local 2 // java.util.List recordFutureList
         1: .line 111
            aload 1 /* l */
            aload 0 /* this */
            aload 2 /* recordFutureList */
            invokedynamic accept(Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;Ljava/util/List;)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/servicediscovery/backend/consul/ConsulBackendService.lambda$3(Ljava/util/List;Lio/vertx/ext/consul/Service;)V (7)
                  (Lio/vertx/ext/consul/Service;)V
            invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
         2: .line 122
            aload 2 /* recordFutureList */
            areturn
        end local 2 // java.util.List recordFutureList
        end local 1 // java.util.List l
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    3     1                 l  Ljava/util/List<Lio/vertx/ext/consul/Service;>;
            1    3     2  recordFutureList  Ljava/util/List<Lio/vertx/core/Future;>;

  private java.util.List lambda$5(io.vertx.core.CompositeFuture);
    descriptor: (Lio/vertx/core/CompositeFuture;)Ljava/util/List;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 1 // io.vertx.core.CompositeFuture c
         0: .line 125
            aload 1 /* c */
            invokeinterface io.vertx.core.CompositeFuture.list:()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;
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$6(Lio/vertx/ext/consul/ServiceList;)Ljava/util/stream/Stream; (6)
                  (Lio/vertx/ext/consul/ServiceList;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 0 /* this */
            invokedynamic apply(Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;)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/consul/ConsulBackendService.serviceToRecord(Lio/vertx/ext/consul/Service;)Lio/vertx/core/Future; (7)
                  (Lio/vertx/ext/consul/Service;)Lio/vertx/core/Future;
            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 1 // io.vertx.core.CompositeFuture c
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    1     1     c  Lio/vertx/core/CompositeFuture;

  private static java.util.List lambda$9(io.vertx.core.CompositeFuture);
    descriptor: (Lio/vertx/core/CompositeFuture;)Ljava/util/List;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.vertx.core.CompositeFuture c
         0: .line 127
            aload 0 /* c */
            invokeinterface io.vertx.core.CompositeFuture.list:()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;
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$10(Ljava/lang/Object;)Lio/vertx/servicediscovery/Record; (6)
                  (Ljava/lang/Object;)Lio/vertx/servicediscovery/Record;
            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.core.CompositeFuture c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lio/vertx/core/CompositeFuture;

  private static io.vertx.servicediscovery.Record lambda$11(java.lang.String, java.util.List);
    descriptor: (Ljava/lang/String;Ljava/util/List;)Lio/vertx/servicediscovery/Record;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.util.List l
         0: .line 136
            aload 1 /* l */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            aload 0
            invokedynamic test(Ljava/lang/String;)Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$12(Ljava/lang/String;Lio/vertx/servicediscovery/Record;)Z (6)
                  (Lio/vertx/servicediscovery/Record;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
            aconst_null
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast io.vertx.servicediscovery.Record
            areturn
        end local 1 // java.util.List l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     l  Ljava/util/List<Lio/vertx/servicediscovery/Record;>;

  private static java.lang.Boolean lambda$14(io.vertx.ext.consul.CheckList);
    descriptor: (Lio/vertx/ext/consul/CheckList;)Ljava/lang/Boolean;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.vertx.ext.consul.CheckList cl
         0: .line 188
            aload 0 /* cl */
            invokevirtual io.vertx.ext.consul.CheckList.getList:()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;
                  io/vertx/ext/consul/Check.getStatus()Lio/vertx/ext/consul/CheckStatus; (5)
                  (Lio/vertx/ext/consul/Check;)Lio/vertx/ext/consul/CheckStatus;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            getstatic io.vertx.ext.consul.CheckStatus.PASSING:Lio/vertx/ext/consul/CheckStatus;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lio/vertx/ext/consul/CheckStatus;)Ljava/util/function/Predicate;
              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;)Z
                  java/lang/Enum.equals(Ljava/lang/Object;)Z (5)
                  (Lio/vertx/ext/consul/CheckStatus;)Z
            invokeinterface java.util.stream.Stream.allMatch:(Ljava/util/function/Predicate;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            areturn
        end local 0 // io.vertx.ext.consul.CheckList cl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    cl  Lio/vertx/ext/consul/CheckList;

  private static io.vertx.servicediscovery.Record lambda$17(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)Lio/vertx/servicediscovery/Record;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Boolean st
         0: .line 189
            aload 0 /* st */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifeq 1
            new io.vertx.servicediscovery.Record
            dup
            invokespecial io.vertx.servicediscovery.Record.<init>:()V
            getstatic io.vertx.servicediscovery.Status.UP:Lio/vertx/servicediscovery/Status;
            invokevirtual io.vertx.servicediscovery.Record.setStatus:(Lio/vertx/servicediscovery/Status;)Lio/vertx/servicediscovery/Record;
            goto 2
      StackMap locals:
      StackMap stack:
         1: new io.vertx.servicediscovery.Record
            dup
            invokespecial io.vertx.servicediscovery.Record.<init>:()V
            getstatic io.vertx.servicediscovery.Status.DOWN:Lio/vertx/servicediscovery/Status;
            invokevirtual io.vertx.servicediscovery.Record.setStatus:(Lio/vertx/servicediscovery/Status;)Lio/vertx/servicediscovery/Record;
      StackMap locals:
      StackMap stack: io.vertx.servicediscovery.Record
         2: areturn
        end local 0 // java.lang.Boolean st
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    st  Ljava/lang/Boolean;

  private static io.vertx.servicediscovery.Record lambda$18(io.vertx.ext.consul.Service, io.vertx.servicediscovery.Record);
    descriptor: (Lio/vertx/ext/consul/Service;Lio/vertx/servicediscovery/Record;)Lio/vertx/servicediscovery/Record;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=2
        start local 1 // io.vertx.servicediscovery.Record record
         0: .line 191
            aload 1 /* record */
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            invokevirtual io.vertx.servicediscovery.Record.setMetadata:(Lio/vertx/core/json/JsonObject;)Lio/vertx/servicediscovery/Record;
            pop
         1: .line 192
            aload 1 /* record */
            new io.vertx.core.json.JsonObject
            dup
            invokespecial io.vertx.core.json.JsonObject.<init>:()V
            invokevirtual io.vertx.servicediscovery.Record.setLocation:(Lio/vertx/core/json/JsonObject;)Lio/vertx/servicediscovery/Record;
            pop
         2: .line 193
            aload 1 /* record */
            aload 0
            invokevirtual io.vertx.ext.consul.Service.getName:()Ljava/lang/String;
            invokevirtual io.vertx.servicediscovery.Record.setName:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         3: .line 194
            aload 1 /* record */
            aload 0
            invokevirtual io.vertx.ext.consul.Service.getId:()Ljava/lang/String;
            invokevirtual io.vertx.servicediscovery.Record.setRegistration:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         4: .line 195
            aload 0
            invokevirtual io.vertx.ext.consul.Service.getTags:()Ljava/util/List;
            astore 2 /* tags */
        start local 2 // java.util.List tags
         5: .line 196
            aload 1 /* record */
            ldc "unknown"
            invokevirtual io.vertx.servicediscovery.Record.setType:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         6: .line 197
            invokestatic io.vertx.servicediscovery.impl.ServiceTypes.all:()Ljava/util/Iterator;
            aload 0
            aload 1 /* record */
            aload 2 /* tags */
            invokedynamic accept(Lio/vertx/ext/consul/Service;Lio/vertx/servicediscovery/Record;Ljava/util/List;)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/servicediscovery/backend/consul/ConsulBackendService.lambda$19(Lio/vertx/ext/consul/Service;Lio/vertx/servicediscovery/Record;Ljava/util/List;Lio/vertx/servicediscovery/spi/ServiceType;)V (6)
                  (Lio/vertx/servicediscovery/spi/ServiceType;)V
            invokeinterface java.util.Iterator.forEachRemaining:(Ljava/util/function/Consumer;)V
         7: .line 204
            aload 2 /* tags */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$20(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)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;
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$21(Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)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;
                  io/vertx/core/json/JsonObject.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 1 /* record */
            invokedynamic accept(Lio/vertx/servicediscovery/Record;)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/servicediscovery/backend/consul/ConsulBackendService.lambda$23(Lio/vertx/servicediscovery/Record;Lio/vertx/core/json/JsonObject;)V (6)
                  (Lio/vertx/core/json/JsonObject;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         8: .line 206
            aload 2 /* tags */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$24(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)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;
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$25(Ljava/lang/String;)Ljava/lang/String; (6)
                  (Ljava/lang/String;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)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;
                  io/vertx/core/json/JsonObject.<init>(Ljava/lang/String;)V (8)
                  (Ljava/lang/String;)Lio/vertx/core/json/JsonObject;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
            aload 1 /* record */
            invokedynamic accept(Lio/vertx/servicediscovery/Record;)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/servicediscovery/backend/consul/ConsulBackendService.lambda$27(Lio/vertx/servicediscovery/Record;Lio/vertx/core/json/JsonObject;)V (6)
                  (Lio/vertx/core/json/JsonObject;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         9: .line 207
            aload 1 /* record */
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            ldc "tags"
            new io.vertx.core.json.JsonArray
            dup
            aload 2 /* tags */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic test()Ljava/util/function/Predicate;
              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;)Z
                  io/vertx/servicediscovery/backend/consul/ConsulBackendService.lambda$28(Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)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
            invokespecial io.vertx.core.json.JsonArray.<init>:(Ljava/util/List;)V
            invokevirtual io.vertx.core.json.JsonObject.put:(Ljava/lang/String;Ljava/lang/Object;)Lio/vertx/core/json/JsonObject;
            pop
        10: .line 208
            aload 1 /* record */
            areturn
        end local 2 // java.util.List tags
        end local 1 // io.vertx.servicediscovery.Record record
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     1  record  Lio/vertx/servicediscovery/Record;
            5   11     2    tags  Ljava/util/List<Ljava/lang/String;>;

  private void lambda$3(java.util.List, io.vertx.ext.consul.Service);
    descriptor: (Ljava/util/List;Lio/vertx/ext/consul/Service;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
        start local 2 // io.vertx.ext.consul.Service s
         0: .line 112
            ldc "consul"
            aload 2 /* s */
            invokevirtual io.vertx.ext.consul.Service.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         1: .line 113
            new io.vertx.ext.consul.ServiceQueryOptions
            dup
            invokespecial io.vertx.ext.consul.ServiceQueryOptions.<init>:()V
            astore 3 /* opt */
        start local 3 // io.vertx.ext.consul.ServiceQueryOptions opt
         2: .line 114
            aload 2 /* s */
            invokevirtual io.vertx.ext.consul.Service.getTags:()Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifne 4
         3: .line 115
            aload 3 /* opt */
            aload 2 /* s */
            invokevirtual io.vertx.ext.consul.Service.getTags:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual io.vertx.ext.consul.ServiceQueryOptions.setTag:(Ljava/lang/String;)Lio/vertx/ext/consul/ServiceQueryOptions;
            pop
         4: .line 117
      StackMap locals: io.vertx.ext.consul.ServiceQueryOptions
      StackMap stack:
            invokestatic io.vertx.core.Promise.promise:()Lio/vertx/core/Promise;
            astore 4 /* serviceList */
        start local 4 // io.vertx.core.Promise serviceList
         5: .line 118
            aload 0 /* this */
            getfield io.vertx.servicediscovery.backend.consul.ConsulBackendService.client:Lio/vertx/ext/consul/ConsulClient;
            aload 2 /* s */
            invokevirtual io.vertx.ext.consul.Service.getName:()Ljava/lang/String;
            aload 3 /* opt */
            aload 4 /* serviceList */
            invokeinterface io.vertx.ext.consul.ConsulClient.catalogServiceNodesWithOptions:(Ljava/lang/String;Lio/vertx/ext/consul/ServiceQueryOptions;Lio/vertx/core/Handler;)Lio/vertx/ext/consul/ConsulClient;
            pop
         6: .line 119
            aload 1
            aload 4 /* serviceList */
            invokeinterface io.vertx.core.Promise.future:()Lio/vertx/core/Future;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.vertx.core.Promise serviceList
        end local 3 // io.vertx.ext.consul.ServiceQueryOptions opt
         7: .line 121
      StackMap locals:
      StackMap stack:
            return
        end local 2 // io.vertx.ext.consul.Service s
        end local 0 // io.vertx.servicediscovery.backend.consul.ConsulBackendService this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Lio/vertx/servicediscovery/backend/consul/ConsulBackendService;
            0    8     2            s  Lio/vertx/ext/consul/Service;
            2    7     3          opt  Lio/vertx/ext/consul/ServiceQueryOptions;
            5    7     4  serviceList  Lio/vertx/core/Promise<Lio/vertx/ext/consul/ServiceList;>;

  private static java.util.stream.Stream lambda$6(io.vertx.ext.consul.ServiceList);
    descriptor: (Lio/vertx/ext/consul/ServiceList;)Ljava/util/stream/Stream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.ext.consul.ServiceList l
         0: .line 125
            aload 0 /* l */
            invokevirtual io.vertx.ext.consul.ServiceList.getList:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            areturn
        end local 0 // io.vertx.ext.consul.ServiceList l
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     l  Lio/vertx/ext/consul/ServiceList;

  private static io.vertx.servicediscovery.Record lambda$10(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lio/vertx/servicediscovery/Record;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object o
         0: .line 127
            aload 0 /* o */
            checkcast io.vertx.servicediscovery.Record
            areturn
        end local 0 // java.lang.Object o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     o  Ljava/lang/Object;

  private static boolean lambda$12(java.lang.String, io.vertx.servicediscovery.Record);
    descriptor: (Ljava/lang/String;Lio/vertx/servicediscovery/Record;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.servicediscovery.Record r
         0: .line 136
            aload 0
            aload 1 /* r */
            invokevirtual io.vertx.servicediscovery.Record.getRegistration:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // io.vertx.servicediscovery.Record r
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     r  Lio/vertx/servicediscovery/Record;

  private static void lambda$19(io.vertx.ext.consul.Service, io.vertx.servicediscovery.Record, java.util.List, io.vertx.servicediscovery.spi.ServiceType);
    descriptor: (Lio/vertx/ext/consul/Service;Lio/vertx/servicediscovery/Record;Ljava/util/List;Lio/vertx/servicediscovery/spi/ServiceType;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
        start local 3 // io.vertx.servicediscovery.spi.ServiceType type
         0: .line 198
            aload 0
            invokevirtual io.vertx.ext.consul.Service.getTags:()Ljava/util/List;
            aload 3 /* type */
            invokeinterface io.vertx.servicediscovery.spi.ServiceType.name:()Ljava/lang/String;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 199
            aload 1
            aload 3 /* type */
            invokeinterface io.vertx.servicediscovery.spi.ServiceType.name:()Ljava/lang/String;
            invokevirtual io.vertx.servicediscovery.Record.setType:(Ljava/lang/String;)Lio/vertx/servicediscovery/Record;
            pop
         2: .line 200
            aload 2
            aload 3 /* type */
            invokeinterface io.vertx.servicediscovery.spi.ServiceType.name:()Ljava/lang/String;
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 202
      StackMap locals:
      StackMap stack:
            return
        end local 3 // io.vertx.servicediscovery.spi.ServiceType type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     3  type  Lio/vertx/servicediscovery/spi/ServiceType;

  private static boolean lambda$20(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String t
         0: .line 204
            aload 0 /* t */
            ldc "metadata:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/String;

  private static java.lang.String lambda$21(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 204
            aload 0 /* s */
            ldc "metadata:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private static void lambda$23(io.vertx.servicediscovery.Record, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/json/JsonObject;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 204
            aload 0
            invokevirtual io.vertx.servicediscovery.Record.getMetadata:()Lio/vertx/core/json/JsonObject;
            aload 1 /* json */
            invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            return
        end local 1 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  json  Lio/vertx/core/json/JsonObject;

  private static boolean lambda$24(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String t
         0: .line 206
            aload 0 /* t */
            ldc "location:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.lang.String t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     t  Ljava/lang/String;

  private static java.lang.String lambda$25(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 206
            aload 0 /* s */
            ldc "location:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;

  private static void lambda$27(io.vertx.servicediscovery.Record, io.vertx.core.json.JsonObject);
    descriptor: (Lio/vertx/servicediscovery/Record;Lio/vertx/core/json/JsonObject;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // io.vertx.core.json.JsonObject json
         0: .line 206
            aload 0
            invokevirtual io.vertx.servicediscovery.Record.getLocation:()Lio/vertx/core/json/JsonObject;
            aload 1 /* json */
            invokevirtual io.vertx.core.json.JsonObject.mergeIn:(Lio/vertx/core/json/JsonObject;)Lio/vertx/core/json/JsonObject;
            return
        end local 1 // io.vertx.core.json.JsonObject json
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  json  Lio/vertx/core/json/JsonObject;

  private static boolean lambda$28(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String t
         0: .line 207
            aload 0 /* t */
            ldc "metadata:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            aload 0 /* t */
            ldc "location:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.String t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  Ljava/lang/String;
}
SourceFile: "ConsulBackendService.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles