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

  private final java.util.List<io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration> resolvers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;>;

  private io.netty.resolver.AddressResolverGroup<java.net.InetSocketAddress> resolverGroup;
    descriptor: Lio/netty/resolver/AddressResolverGroup;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lio/netty/resolver/AddressResolverGroup<Ljava/net/InetSocketAddress;>;

  private final java.util.List<java.net.InetSocketAddress> serverList;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/net/InetSocketAddress;>;

  public java.util.List<java.net.InetSocketAddress> nameServerAddresses();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
         0: .line 67
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
            areturn
        end local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/vertx/core/impl/resolver/DnsResolverProvider;
    Signature: ()Ljava/util/List<Ljava/net/InetSocketAddress;>;

  public void <init>(io.vertx.core.impl.VertxImpl, io.vertx.core.dns.AddressResolverOptions);
    descriptor: (Lio/vertx/core/impl/VertxImpl;Lio/vertx/core/dns/AddressResolverOptions;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=12, args_size=3
        start local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
        start local 1 // io.vertx.core.impl.VertxImpl vertx
        start local 2 // io.vertx.core.dns.AddressResolverOptions options
         0: .line 70
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 59
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            invokestatic java.util.Collections.synchronizedList:(Ljava/util/List;)Ljava/util/List;
            putfield io.vertx.core.impl.resolver.DnsResolverProvider.resolvers:Ljava/util/List;
         2: .line 61
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
         3: .line 71
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getServers:()Ljava/util/List;
            astore 3 /* dnsServers */
        start local 3 // java.util.List dnsServers
         4: .line 72
            aload 3 /* dnsServers */
            ifnull 20
            aload 3 /* dnsServers */
            invokeinterface java.util.List.size:()I
            ifle 20
         5: .line 73
            aload 3 /* dnsServers */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 18
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* dnsServer */
        start local 4 // java.lang.String dnsServer
         7: .line 74
            aload 4 /* dnsServer */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 6 /* sep */
        start local 6 // int sep
         8: .line 77
            iload 6 /* sep */
            iconst_m1
            if_icmpeq 12
         9: .line 78
            aload 4 /* dnsServer */
            iconst_0
            iload 6 /* sep */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* ipAddress */
        start local 7 // java.lang.String ipAddress
        10: .line 79
            aload 4 /* dnsServer */
            iload 6 /* sep */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 8 /* port */
        start local 8 // int port
        11: .line 80
            goto 14
        end local 8 // int port
        end local 7 // java.lang.String ipAddress
        12: .line 81
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List java.lang.String java.util.Iterator int
      StackMap stack:
            aload 4 /* dnsServer */
            astore 7 /* ipAddress */
        start local 7 // java.lang.String ipAddress
        13: .line 82
            bipush 53
            istore 8 /* port */
        start local 8 // int port
        14: .line 85
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
            new java.net.InetSocketAddress
            dup
            aload 7 /* ipAddress */
            invokestatic io.netty.util.NetUtil.createByteArrayFromIpAddressString:(Ljava/lang/String;)[B
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            iload 8 /* port */
            invokespecial java.net.InetSocketAddress.<init>:(Ljava/net/InetAddress;I)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        15: .line 86
            goto 18
      StackMap locals:
      StackMap stack: java.net.UnknownHostException
        16: astore 9 /* e */
        start local 9 // java.net.UnknownHostException e
        17: .line 87
            new io.vertx.core.VertxException
            dup
            aload 9 /* e */
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.net.UnknownHostException e
        end local 8 // int port
        end local 7 // java.lang.String ipAddress
        end local 6 // int sep
        end local 4 // java.lang.String dnsServer
        18: .line 73
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        19: .line 90
            goto 28
        20: .line 91
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List
      StackMap stack:
            invokestatic io.netty.resolver.dns.DefaultDnsServerAddressStreamProvider.defaultAddresses:()Lio/netty/resolver/dns/DnsServerAddresses;
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            astore 4 /* stream */
        start local 4 // io.netty.resolver.dns.DnsServerAddressStream stream
        21: .line 92
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* all */
        start local 5 // java.util.Set all
        22: .line 94
      StackMap locals: io.netty.resolver.dns.DnsServerAddressStream java.util.Set
      StackMap stack:
            aload 4 /* stream */
            invokeinterface io.netty.resolver.dns.DnsServerAddressStream.next:()Ljava/net/InetSocketAddress;
            astore 6 /* address */
        start local 6 // java.net.InetSocketAddress address
        23: .line 95
            aload 5 /* all */
            aload 6 /* address */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 96
            goto 28
        25: .line 98
      StackMap locals: java.net.InetSocketAddress
      StackMap stack:
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
            aload 6 /* address */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        26: .line 99
            aload 5 /* all */
            aload 6 /* address */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.net.InetSocketAddress address
        27: .line 93
            goto 22
        end local 5 // java.util.Set all
        end local 4 // io.netty.resolver.dns.DnsServerAddressStream stream
        28: .line 102
      StackMap locals:
      StackMap stack:
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.isRotateServers:()Z
            ifeq 29
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
            invokestatic io.netty.resolver.dns.DnsServerAddresses.rotational:(Ljava/lang/Iterable;)Lio/netty/resolver/dns/DnsServerAddresses;
            goto 30
      StackMap locals:
      StackMap stack:
        29: aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.serverList:Ljava/util/List;
            invokestatic io.netty.resolver.dns.DnsServerAddresses.sequential:(Ljava/lang/Iterable;)Lio/netty/resolver/dns/DnsServerAddresses;
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsServerAddresses
        30: astore 4 /* nameServerAddresses */
        start local 4 // io.netty.resolver.dns.DnsServerAddresses nameServerAddresses
        31: .line 103
            aload 4 /* nameServerAddresses */
            invokedynamic nameServerAddressStream(Lio/netty/resolver/dns/DnsServerAddresses;)Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
                  io/vertx/core/impl/resolver/DnsResolverProvider.lambda$0(Lio/netty/resolver/dns/DnsServerAddresses;Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream; (6)
                  (Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
            astore 5 /* nameServerAddressProvider */
        start local 5 // io.netty.resolver.dns.DnsServerAddressStreamProvider nameServerAddressProvider
        32: .line 106
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getHostsPath:()Ljava/lang/String;
            ifnull 40
        33: .line 107
            aload 1 /* vertx */
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getHostsPath:()Ljava/lang/String;
            invokevirtual io.vertx.core.impl.VertxImpl.resolveFile:(Ljava/lang/String;)Ljava/io/File;
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            astore 7 /* file */
        start local 7 // java.io.File file
        34: .line 109
            aload 7 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 35
            aload 7 /* file */
            invokevirtual java.io.File.isFile:()Z
            ifne 36
        35: .line 110
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List io.netty.resolver.dns.DnsServerAddresses io.netty.resolver.dns.DnsServerAddressStreamProvider top java.io.File
      StackMap stack:
            new java.io.IOException
            dup
            invokespecial java.io.IOException.<init>:()V
            athrow
        36: .line 112
      StackMap locals:
      StackMap stack:
            aload 7 /* file */
            invokestatic io.netty.resolver.HostsFileParser.parse:(Ljava/io/File;)Lio/netty/resolver/HostsFileEntries;
            astore 6 /* entries */
        start local 6 // io.netty.resolver.HostsFileEntries entries
        37: .line 113
            goto 46
        end local 6 // io.netty.resolver.HostsFileEntries entries
      StackMap locals:
      StackMap stack: java.io.IOException
        38: pop
        39: .line 114
            new io.vertx.core.VertxException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot read hosts file "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.io.File file
        40: .line 116
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.impl.VertxImpl io.vertx.core.dns.AddressResolverOptions java.util.List io.netty.resolver.dns.DnsServerAddresses io.netty.resolver.dns.DnsServerAddressStreamProvider
      StackMap stack:
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getHostsValue:()Lio/vertx/core/buffer/Buffer;
            ifnull 45
        41: .line 118
            new java.io.StringReader
            dup
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getHostsValue:()Lio/vertx/core/buffer/Buffer;
            invokeinterface io.vertx.core.buffer.Buffer.toString:()Ljava/lang/String;
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            invokestatic io.netty.resolver.HostsFileParser.parse:(Ljava/io/Reader;)Lio/netty/resolver/HostsFileEntries;
            astore 6 /* entries */
        start local 6 // io.netty.resolver.HostsFileEntries entries
        42: .line 119
            goto 46
        end local 6 // io.netty.resolver.HostsFileEntries entries
      StackMap locals:
      StackMap stack: java.io.IOException
        43: astore 7 /* e */
        start local 7 // java.io.IOException e
        44: .line 120
            new io.vertx.core.VertxException
            dup
            ldc "Cannot read hosts config "
            aload 7 /* e */
            invokespecial io.vertx.core.VertxException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException e
        45: .line 123
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.resolver.HostsFileParser.parseSilently:()Lio/netty/resolver/HostsFileEntries;
            astore 6 /* entries */
        start local 6 // io.netty.resolver.HostsFileEntries entries
        46: .line 126
      StackMap locals: io.netty.resolver.HostsFileEntries
      StackMap stack:
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getCacheMinTimeToLive:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic io.netty.util.internal.ObjectUtil.intValue:(Ljava/lang/Integer;I)I
            istore 7 /* minTtl */
        start local 7 // int minTtl
        47: .line 127
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getCacheMaxTimeToLive:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            ldc 2147483647
            invokestatic io.netty.util.internal.ObjectUtil.intValue:(Ljava/lang/Integer;I)I
            istore 8 /* maxTtl */
        start local 8 // int maxTtl
        48: .line 128
            aload 2 /* options */
            invokevirtual io.vertx.core.dns.AddressResolverOptions.getCacheNegativeTimeToLive:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            iconst_0
            invokestatic io.netty.util.internal.ObjectUtil.intValue:(Ljava/lang/Integer;I)I
            istore 9 /* negativeTtl */
        start local 9 // int negativeTtl
        49: .line 129
            new io.netty.resolver.dns.DefaultDnsCache
            dup
            iload 7 /* minTtl */
            iload 8 /* maxTtl */
            iload 9 /* negativeTtl */
            invokespecial io.netty.resolver.dns.DefaultDnsCache.<init>:(III)V
            astore 10 /* resolveCache */
        start local 10 // io.netty.resolver.dns.DnsCache resolveCache
        50: .line 130
            new io.netty.resolver.dns.DefaultDnsCache
            dup
            iload 7 /* minTtl */
            iload 8 /* maxTtl */
            iload 9 /* negativeTtl */
            invokespecial io.netty.resolver.dns.DefaultDnsCache.<init>:(III)V
            astore 11 /* authoritativeDnsServerCache */
        start local 11 // io.netty.resolver.dns.DnsCache authoritativeDnsServerCache
        51: .line 132
            aload 0 /* this */
            aload 1 /* vertx */
            putfield io.vertx.core.impl.resolver.DnsResolverProvider.vertx:Lio/vertx/core/Vertx;
        52: .line 133
            aload 0 /* this */
            new io.vertx.core.impl.resolver.DnsResolverProvider$1
            dup
            aload 0 /* this */
            aload 1 /* vertx */
            aload 5 /* nameServerAddressProvider */
            aload 2 /* options */
            aload 10 /* resolveCache */
            aload 11 /* authoritativeDnsServerCache */
            aload 6 /* entries */
            invokespecial io.vertx.core.impl.resolver.DnsResolverProvider$1.<init>:(Lio/vertx/core/impl/resolver/DnsResolverProvider;Lio/vertx/core/impl/VertxImpl;Lio/netty/resolver/dns/DnsServerAddressStreamProvider;Lio/vertx/core/dns/AddressResolverOptions;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/HostsFileEntries;)V
            putfield io.vertx.core.impl.resolver.DnsResolverProvider.resolverGroup:Lio/netty/resolver/AddressResolverGroup;
        53: .line 193
            return
        end local 11 // io.netty.resolver.dns.DnsCache authoritativeDnsServerCache
        end local 10 // io.netty.resolver.dns.DnsCache resolveCache
        end local 9 // int negativeTtl
        end local 8 // int maxTtl
        end local 7 // int minTtl
        end local 6 // io.netty.resolver.HostsFileEntries entries
        end local 5 // io.netty.resolver.dns.DnsServerAddressStreamProvider nameServerAddressProvider
        end local 4 // io.netty.resolver.dns.DnsServerAddresses nameServerAddresses
        end local 3 // java.util.List dnsServers
        end local 2 // io.vertx.core.dns.AddressResolverOptions options
        end local 1 // io.vertx.core.impl.VertxImpl vertx
        end local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   54     0                         this  Lio/vertx/core/impl/resolver/DnsResolverProvider;
            0   54     1                        vertx  Lio/vertx/core/impl/VertxImpl;
            0   54     2                      options  Lio/vertx/core/dns/AddressResolverOptions;
            4   54     3                   dnsServers  Ljava/util/List<Ljava/lang/String;>;
            7   18     4                    dnsServer  Ljava/lang/String;
            8   18     6                          sep  I
           10   12     7                    ipAddress  Ljava/lang/String;
           13   18     7                    ipAddress  Ljava/lang/String;
           11   12     8                         port  I
           14   18     8                         port  I
           17   18     9                            e  Ljava/net/UnknownHostException;
           21   28     4                       stream  Lio/netty/resolver/dns/DnsServerAddressStream;
           22   28     5                          all  Ljava/util/Set<Ljava/net/InetSocketAddress;>;
           23   27     6                      address  Ljava/net/InetSocketAddress;
           31   54     4          nameServerAddresses  Lio/netty/resolver/dns/DnsServerAddresses;
           32   54     5    nameServerAddressProvider  Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
           37   38     6                      entries  Lio/netty/resolver/HostsFileEntries;
           42   43     6                      entries  Lio/netty/resolver/HostsFileEntries;
           46   54     6                      entries  Lio/netty/resolver/HostsFileEntries;
           34   40     7                         file  Ljava/io/File;
           44   45     7                            e  Ljava/io/IOException;
           47   54     7                       minTtl  I
           48   54     8                       maxTtl  I
           49   54     9                  negativeTtl  I
           50   54    10                 resolveCache  Lio/netty/resolver/dns/DnsCache;
           51   54    11  authoritativeDnsServerCache  Lio/netty/resolver/dns/DnsCache;
      Exception table:
        from    to  target  type
          14    15      16  Class java.net.UnknownHostException
          34    37      38  Class java.io.IOException
          41    42      43  Class java.io.IOException
    MethodParameters:
         Name  Flags
      vertx    
      options  

  public io.netty.resolver.AddressResolverGroup<java.net.InetSocketAddress> resolver(io.vertx.core.dns.AddressResolverOptions);
    descriptor: (Lio/vertx/core/dns/AddressResolverOptions;)Lio/netty/resolver/AddressResolverGroup;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
        start local 1 // io.vertx.core.dns.AddressResolverOptions options
         0: .line 206
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.resolverGroup:Lio/netty/resolver/AddressResolverGroup;
            areturn
        end local 1 // io.vertx.core.dns.AddressResolverOptions options
        end local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lio/vertx/core/impl/resolver/DnsResolverProvider;
            0    1     1  options  Lio/vertx/core/dns/AddressResolverOptions;
    Signature: (Lio/vertx/core/dns/AddressResolverOptions;)Lio/netty/resolver/AddressResolverGroup<Ljava/net/InetSocketAddress;>;
    MethodParameters:
         Name  Flags
      options  

  public void close(io.vertx.core.Handler<java.lang.Void>);
    descriptor: (Lio/vertx/core/Handler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
        start local 1 // io.vertx.core.Handler doneHandler
         0: .line 211
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.vertx:Lio/vertx/core/Vertx;
            invokeinterface io.vertx.core.Vertx.getOrCreateContext:()Lio/vertx/core/Context;
            astore 2 /* context */
        start local 2 // io.vertx.core.Context context
         1: .line 212
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.resolvers:Ljava/util/List;
            aload 0 /* this */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider.resolvers:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            anewarray io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[]
            astore 3 /* registrations */
        start local 3 // io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] registrations
         2: .line 213
            aload 3 /* registrations */
            arraylength
            ifne 5
         3: .line 214
            aload 2 /* context */
            aload 1 /* doneHandler */
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         4: .line 215
            return
         5: .line 217
      StackMap locals: io.vertx.core.Context io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[]
      StackMap stack:
            new java.util.concurrent.atomic.AtomicInteger
            dup
            aload 3 /* registrations */
            arraylength
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            astore 4 /* count */
        start local 4 // java.util.concurrent.atomic.AtomicInteger count
         6: .line 218
            aload 3 /* registrations */
            dup
            astore 8
            arraylength
            istore 7
            iconst_0
            istore 6
            goto 14
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.Handler io.vertx.core.Context io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] java.util.concurrent.atomic.AtomicInteger top int int io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[]
      StackMap stack:
         7: aload 8
            iload 6
            aaload
            astore 5 /* registration */
        start local 5 // io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration registration
         8: .line 219
            aload 5 /* registration */
            aload 4 /* count */
            aload 2 /* context */
            aload 1 /* doneHandler */
            invokedynamic run(Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;Ljava/util/concurrent/atomic/AtomicInteger;Lio/vertx/core/Context;Lio/vertx/core/Handler;)Ljava/lang/Runnable;
              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:
                  ()V
                  io/vertx/core/impl/resolver/DnsResolverProvider.lambda$1(Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;Ljava/util/concurrent/atomic/AtomicInteger;Lio/vertx/core/Context;Lio/vertx/core/Handler;)V (6)
                  ()V
            astore 9 /* task */
        start local 9 // java.lang.Runnable task
         9: .line 225
            aload 5 /* registration */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration.executor:Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.inEventLoop:()Z
            ifeq 12
        10: .line 226
            aload 9 /* task */
            invokeinterface java.lang.Runnable.run:()V
        11: .line 227
            goto 13
        12: .line 228
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.Handler io.vertx.core.Context io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] java.util.concurrent.atomic.AtomicInteger io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration int int io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] java.lang.Runnable
      StackMap stack:
            aload 5 /* registration */
            getfield io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration.executor:Lio/netty/channel/EventLoop;
            aload 9 /* task */
            invokeinterface io.netty.channel.EventLoop.execute:(Ljava/lang/Runnable;)V
        end local 9 // java.lang.Runnable task
        end local 5 // io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration registration
        13: .line 218
      StackMap locals: io.vertx.core.impl.resolver.DnsResolverProvider io.vertx.core.Handler io.vertx.core.Context io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] java.util.concurrent.atomic.AtomicInteger top int int io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[]
      StackMap stack:
            iinc 6 1
      StackMap locals:
      StackMap stack:
        14: iload 6
            iload 7
            if_icmplt 7
        15: .line 231
            return
        end local 4 // java.util.concurrent.atomic.AtomicInteger count
        end local 3 // io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration[] registrations
        end local 2 // io.vertx.core.Context context
        end local 1 // io.vertx.core.Handler doneHandler
        end local 0 // io.vertx.core.impl.resolver.DnsResolverProvider this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lio/vertx/core/impl/resolver/DnsResolverProvider;
            0   16     1    doneHandler  Lio/vertx/core/Handler<Ljava/lang/Void;>;
            1   16     2        context  Lio/vertx/core/Context;
            2   16     3  registrations  [Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;
            6   16     4          count  Ljava/util/concurrent/atomic/AtomicInteger;
            8   13     5   registration  Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;
            9   13     9           task  Ljava/lang/Runnable;
    Signature: (Lio/vertx/core/Handler<Ljava/lang/Void;>;)V
    MethodParameters:
             Name  Flags
      doneHandler  

  private static io.netty.resolver.dns.DnsServerAddressStream lambda$0(io.netty.resolver.dns.DnsServerAddresses, java.lang.String);
    descriptor: (Lio/netty/resolver/dns/DnsServerAddresses;Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=2, args_size=2
        start local 1 // java.lang.String hostname
         0: .line 103
            aload 0
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            areturn
        end local 1 // java.lang.String hostname
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     1  hostname  Ljava/lang/String;

  private static void lambda$1(io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration, java.util.concurrent.atomic.AtomicInteger, io.vertx.core.Context, io.vertx.core.Handler);
    descriptor: (Lio/vertx/core/impl/resolver/DnsResolverProvider$ResolverRegistration;Ljava/util/concurrent/atomic/AtomicInteger;Lio/vertx/core/Context;Lio/vertx/core/Handler;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=4, args_size=4
         0: .line 220
            aload 0
            getfield io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration.resolver:Lio/netty/resolver/AddressResolver;
            invokeinterface io.netty.resolver.AddressResolver.close:()V
         1: .line 221
            aload 1
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            ifne 3
         2: .line 222
            aload 2
            aload 3
            invokeinterface io.vertx.core.Context.runOnContext:(Lio/vertx/core/Handler;)V
         3: .line 224
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "DnsResolverProvider.java"
NestMembers:
  io.vertx.core.impl.resolver.DnsResolverProvider$1  io.vertx.core.impl.resolver.DnsResolverProvider$1$1  io.vertx.core.impl.resolver.DnsResolverProvider$1$1$1  io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration
InnerClasses:
  io.vertx.core.impl.resolver.DnsResolverProvider$1
  private ResolverRegistration = io.vertx.core.impl.resolver.DnsResolverProvider$ResolverRegistration of io.vertx.core.impl.resolver.DnsResolverProvider
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles