public class io.netty.resolver.dns.DnsNameResolver extends io.netty.resolver.InetNameResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.resolver.dns.DnsNameResolver
  super_class: io.netty.resolver.InetNameResolver
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final java.net.InetAddress LOCALHOST_ADDRESS;
    descriptor: Ljava/net/InetAddress;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DnsRecord[] EMPTY_ADDITIONALS;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecord;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DnsRecordType[] IPV4_ONLY_RESOLVED_RECORD_TYPES;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.channel.socket.InternetProtocolFamily[] IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES;
    descriptor: [Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DnsRecordType[] IPV4_PREFERRED_RESOLVED_RECORD_TYPES;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.channel.socket.InternetProtocolFamily[] IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES;
    descriptor: [Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DnsRecordType[] IPV6_ONLY_RESOLVED_RECORD_TYPES;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.channel.socket.InternetProtocolFamily[] IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES;
    descriptor: [Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DnsRecordType[] IPV6_PREFERRED_RESOLVED_RECORD_TYPES;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.channel.socket.InternetProtocolFamily[] IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES;
    descriptor: [Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final io.netty.resolver.ResolvedAddressTypes DEFAULT_RESOLVE_ADDRESS_TYPES;
    descriptor: Lio/netty/resolver/ResolvedAddressTypes;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String[] DEFAULT_SEARCH_DOMAINS;
    descriptor: [Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private static final int DEFAULT_NDOTS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DatagramDnsResponseDecoder DECODER;
    descriptor: Lio/netty/handler/codec/dns/DatagramDnsResponseDecoder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final io.netty.handler.codec.dns.DatagramDnsQueryEncoder ENCODER;
    descriptor: Lio/netty/handler/codec/dns/DatagramDnsQueryEncoder;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final io.netty.util.concurrent.Future<io.netty.channel.Channel> channelFuture;
    descriptor: Lio/netty/util/concurrent/Future;
    flags: (0x0010) ACC_FINAL
    Signature: Lio/netty/util/concurrent/Future<Lio/netty/channel/Channel;>;

  final io.netty.channel.socket.DatagramChannel ch;
    descriptor: Lio/netty/channel/socket/DatagramChannel;
    flags: (0x0010) ACC_FINAL

  final io.netty.resolver.dns.DnsQueryContextManager queryContextManager;
    descriptor: Lio/netty/resolver/dns/DnsQueryContextManager;
    flags: (0x0010) ACC_FINAL

  private final io.netty.resolver.dns.DnsCache resolveCache;
    descriptor: Lio/netty/resolver/dns/DnsCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.resolver.dns.DnsCache authoritativeDnsServerCache;
    descriptor: Lio/netty/resolver/dns/DnsCache;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.util.concurrent.FastThreadLocal<io.netty.resolver.dns.DnsServerAddressStream> nameServerAddrStream;
    descriptor: Lio/netty/util/concurrent/FastThreadLocal;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/util/concurrent/FastThreadLocal<Lio/netty/resolver/dns/DnsServerAddressStream;>;

  private final long queryTimeoutMillis;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int maxQueriesPerResolve;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes;
    descriptor: Lio/netty/resolver/ResolvedAddressTypes;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamilies;
    descriptor: [Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int maxPayloadSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver;
    descriptor: Lio/netty/resolver/HostsFileEntriesResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider;
    descriptor: Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int ndots;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final io.netty.channel.socket.InternetProtocolFamily preferredAddressType;
    descriptor: Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes;
    descriptor: [Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory;
    descriptor: Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static volatile int[] $SWITCH_TABLE$io$netty$resolver$ResolvedAddressTypes;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=6, args_size=0
         0: .line 82
            ldc Lio/netty/resolver/dns/DnsNameResolver;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.netty.resolver.dns.DnsNameResolver.$assertionsDisabled:Z
         3: .line 84
            ldc Lio/netty/resolver/dns/DnsNameResolver;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.resolver.dns.DnsNameResolver.logger:Lio/netty/util/internal/logging/InternalLogger;
         4: .line 87
            iconst_0
            anewarray io.netty.handler.codec.dns.DnsRecord
            putstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
         5: .line 89
            iconst_1
            anewarray io.netty.handler.codec.dns.DnsRecordType
            dup
            iconst_0
            getstatic io.netty.handler.codec.dns.DnsRecordType.A:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
         6: .line 88
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV4_ONLY_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
         7: .line 91
            iconst_1
            anewarray io.netty.channel.socket.InternetProtocolFamily
            dup
            iconst_0
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv4:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
         8: .line 90
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
         9: .line 93
            iconst_2
            anewarray io.netty.handler.codec.dns.DnsRecordType
            dup
            iconst_0
            getstatic io.netty.handler.codec.dns.DnsRecordType.A:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
            dup
            iconst_1
            getstatic io.netty.handler.codec.dns.DnsRecordType.AAAA:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
        10: .line 92
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV4_PREFERRED_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
        11: .line 95
            iconst_2
            anewarray io.netty.channel.socket.InternetProtocolFamily
            dup
            iconst_0
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv4:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
            dup
            iconst_1
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv6:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
        12: .line 94
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
        13: .line 97
            iconst_1
            anewarray io.netty.handler.codec.dns.DnsRecordType
            dup
            iconst_0
            getstatic io.netty.handler.codec.dns.DnsRecordType.AAAA:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
        14: .line 96
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV6_ONLY_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
        15: .line 99
            iconst_1
            anewarray io.netty.channel.socket.InternetProtocolFamily
            dup
            iconst_0
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv6:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
        16: .line 98
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
        17: .line 101
            iconst_2
            anewarray io.netty.handler.codec.dns.DnsRecordType
            dup
            iconst_0
            getstatic io.netty.handler.codec.dns.DnsRecordType.AAAA:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
            dup
            iconst_1
            getstatic io.netty.handler.codec.dns.DnsRecordType.A:Lio/netty/handler/codec/dns/DnsRecordType;
            aastore
        18: .line 100
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV6_PREFERRED_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
        19: .line 103
            iconst_2
            anewarray io.netty.channel.socket.InternetProtocolFamily
            dup
            iconst_0
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv6:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
            dup
            iconst_1
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv4:Lio/netty/channel/socket/InternetProtocolFamily;
            aastore
        20: .line 102
            putstatic io.netty.resolver.dns.DnsNameResolver.IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
        21: .line 110
            invokestatic io.netty.util.NetUtil.isIpV4StackPreferred:()Z
            ifeq 25
        22: .line 111
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV4_ONLY:Lio/netty/resolver/ResolvedAddressTypes;
            putstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_RESOLVE_ADDRESS_TYPES:Lio/netty/resolver/ResolvedAddressTypes;
        23: .line 112
            getstatic io.netty.util.NetUtil.LOCALHOST4:Ljava/net/Inet4Address;
            putstatic io.netty.resolver.dns.DnsNameResolver.LOCALHOST_ADDRESS:Ljava/net/InetAddress;
        24: .line 113
            goto 31
        25: .line 114
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.util.NetUtil.isIpV6AddressesPreferred:()Z
            ifeq 29
        26: .line 115
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV6_PREFERRED:Lio/netty/resolver/ResolvedAddressTypes;
            putstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_RESOLVE_ADDRESS_TYPES:Lio/netty/resolver/ResolvedAddressTypes;
        27: .line 116
            getstatic io.netty.util.NetUtil.LOCALHOST6:Ljava/net/Inet6Address;
            putstatic io.netty.resolver.dns.DnsNameResolver.LOCALHOST_ADDRESS:Ljava/net/InetAddress;
        28: .line 117
            goto 31
        29: .line 118
      StackMap locals:
      StackMap stack:
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV4_PREFERRED:Lio/netty/resolver/ResolvedAddressTypes;
            putstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_RESOLVE_ADDRESS_TYPES:Lio/netty/resolver/ResolvedAddressTypes;
        30: .line 119
            getstatic io.netty.util.NetUtil.LOCALHOST4:Ljava/net/Inet4Address;
            putstatic io.netty.resolver.dns.DnsNameResolver.LOCALHOST_ADDRESS:Ljava/net/InetAddress;
        31: .line 127
      StackMap locals:
      StackMap stack:
            ldc "sun.net.dns.ResolverConfiguration"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* configClass */
        start local 1 // java.lang.Class configClass
        32: .line 128
            aload 1 /* configClass */
            ldc "open"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 2 /* open */
        start local 2 // java.lang.reflect.Method open
        33: .line 129
            aload 1 /* configClass */
            ldc "searchlist"
            iconst_0
            anewarray java.lang.Class
            invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* nameservers */
        start local 3 // java.lang.reflect.Method nameservers
        34: .line 130
            aload 2 /* open */
            aconst_null
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* instance */
        start local 4 // java.lang.Object instance
        35: .line 133
            aload 3 /* nameservers */
            aload 4 /* instance */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 5 /* list */
        start local 5 // java.util.List list
        36: .line 134
            aload 5 /* list */
            aload 5 /* list */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 0 /* searchDomains */
        end local 5 // java.util.List list
        end local 4 // java.lang.Object instance
        end local 3 // java.lang.reflect.Method nameservers
        end local 2 // java.lang.reflect.Method open
        end local 1 // java.lang.Class configClass
        start local 0 // java.lang.String[] searchDomains
        37: .line 135
            goto 40
        end local 0 // java.lang.String[] searchDomains
      StackMap locals:
      StackMap stack: java.lang.Exception
        38: pop
        39: .line 137
            getstatic io.netty.util.internal.EmptyArrays.EMPTY_STRINGS:[Ljava/lang/String;
            astore 0 /* searchDomains */
        start local 0 // java.lang.String[] searchDomains
        40: .line 139
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 0 /* searchDomains */
            putstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_SEARCH_DOMAINS:[Ljava/lang/String;
        41: .line 143
            invokestatic io.netty.resolver.dns.UnixResolverDnsServerAddressStreamProvider.parseEtcResolverFirstNdots:()I
            istore 1 /* ndots */
        start local 1 // int ndots
        42: .line 144
            goto 45
        end local 1 // int ndots
      StackMap locals:
      StackMap stack: java.lang.Exception
        43: pop
        44: .line 145
            iconst_1
            istore 1 /* ndots */
        start local 1 // int ndots
        45: .line 147
      StackMap locals: int
      StackMap stack:
            iload 1 /* ndots */
            putstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_NDOTS:I
        end local 1 // int ndots
        end local 0 // java.lang.String[] searchDomains
        46: .line 150
            new io.netty.handler.codec.dns.DatagramDnsResponseDecoder
            dup
            invokespecial io.netty.handler.codec.dns.DatagramDnsResponseDecoder.<init>:()V
            putstatic io.netty.resolver.dns.DnsNameResolver.DECODER:Lio/netty/handler/codec/dns/DatagramDnsResponseDecoder;
        47: .line 151
            new io.netty.handler.codec.dns.DatagramDnsQueryEncoder
            dup
            invokespecial io.netty.handler.codec.dns.DatagramDnsQueryEncoder.<init>:()V
            putstatic io.netty.resolver.dns.DnsNameResolver.ENCODER:Lio/netty/handler/codec/dns/DatagramDnsQueryEncoder;
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
           37   38     0  searchDomains  [Ljava/lang/String;
           40   46     0  searchDomains  [Ljava/lang/String;
           32   37     1    configClass  Ljava/lang/Class<*>;
           33   37     2           open  Ljava/lang/reflect/Method;
           34   37     3    nameservers  Ljava/lang/reflect/Method;
           35   37     4       instance  Ljava/lang/Object;
           36   37     5           list  Ljava/util/List<Ljava/lang/String;>;
           42   43     1          ndots  I
           45   46     1          ndots  I
      Exception table:
        from    to  target  type
          31    37      38  Class java.lang.Exception
          41    42      43  Class java.lang.Exception

  public void <init>(io.netty.channel.EventLoop, io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel>, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsCache, io.netty.resolver.dns.DnsQueryLifecycleObserverFactory, long, io.netty.resolver.ResolvedAddressTypes, boolean, int, boolean, int, boolean, io.netty.resolver.HostsFileEntriesResolver, io.netty.resolver.dns.DnsServerAddressStreamProvider, java.lang.String[], int, );
    descriptor: (Lio/netty/channel/EventLoop;Lio/netty/channel/ChannelFactory;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;JLio/netty/resolver/ResolvedAddressTypes;ZIZIZLio/netty/resolver/HostsFileEntriesResolver;Lio/netty/resolver/dns/DnsServerAddressStreamProvider;[Ljava/lang/String;IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=21, args_size=18
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.channel.EventLoop eventLoop
        start local 2 // io.netty.channel.ChannelFactory channelFactory
        start local 3 // io.netty.resolver.dns.DnsCache resolveCache
        start local 4 // io.netty.resolver.dns.DnsCache authoritativeDnsServerCache
        start local 5 // io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory
        start local 6 // long queryTimeoutMillis
        start local 8 // io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes
        start local 9 // boolean recursionDesired
        start local 10 // int maxQueriesPerResolve
        start local 11 // boolean traceEnabled
        start local 12 // int maxPayloadSize
        start local 13 // boolean optResourceEnabled
        start local 14 // io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver
        start local 15 // io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider
        start local 16 // java.lang.String[] searchDomains
        start local 17 // int ndots
        start local 18 // boolean decodeIdn
         0: .line 236
            aload 0 /* this */
            aload 1 /* eventLoop */
            invokespecial io.netty.resolver.InetNameResolver.<init>:(Lio/netty/util/concurrent/EventExecutor;)V
         1: .line 159
            aload 0 /* this */
            new io.netty.resolver.dns.DnsQueryContextManager
            dup
            invokespecial io.netty.resolver.dns.DnsQueryContextManager.<init>:()V
            putfield io.netty.resolver.dns.DnsNameResolver.queryContextManager:Lio/netty/resolver/dns/DnsQueryContextManager;
         2: .line 167
            aload 0 /* this */
         3: .line 168
            new io.netty.resolver.dns.DnsNameResolver$1
            dup
            aload 0 /* this */
            invokespecial io.netty.resolver.dns.DnsNameResolver$1.<init>:(Lio/netty/resolver/dns/DnsNameResolver;)V
            putfield io.netty.resolver.dns.DnsNameResolver.nameServerAddrStream:Lio/netty/util/concurrent/FastThreadLocal;
         4: .line 237
            aload 0 /* this */
            lload 6 /* queryTimeoutMillis */
            ldc "queryTimeoutMillis"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(JLjava/lang/String;)J
            putfield io.netty.resolver.dns.DnsNameResolver.queryTimeoutMillis:J
         5: .line 238
            aload 0 /* this */
            aload 8 /* resolvedAddressTypes */
            ifnull 6
            aload 8 /* resolvedAddressTypes */
            goto 7
      StackMap locals: io.netty.resolver.dns.DnsNameResolver io.netty.channel.EventLoop io.netty.channel.ChannelFactory io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsQueryLifecycleObserverFactory long io.netty.resolver.ResolvedAddressTypes int int int int int io.netty.resolver.HostsFileEntriesResolver io.netty.resolver.dns.DnsServerAddressStreamProvider java.lang.String[] int int
      StackMap stack: io.netty.resolver.dns.DnsNameResolver
         6: getstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_RESOLVE_ADDRESS_TYPES:Lio/netty/resolver/ResolvedAddressTypes;
      StackMap locals: io.netty.resolver.dns.DnsNameResolver io.netty.channel.EventLoop io.netty.channel.ChannelFactory io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsQueryLifecycleObserverFactory long io.netty.resolver.ResolvedAddressTypes int int int int int io.netty.resolver.HostsFileEntriesResolver io.netty.resolver.dns.DnsServerAddressStreamProvider java.lang.String[] int int
      StackMap stack: io.netty.resolver.dns.DnsNameResolver io.netty.resolver.ResolvedAddressTypes
         7: putfield io.netty.resolver.dns.DnsNameResolver.resolvedAddressTypes:Lio/netty/resolver/ResolvedAddressTypes;
         8: .line 239
            aload 0 /* this */
            iload 9 /* recursionDesired */
            putfield io.netty.resolver.dns.DnsNameResolver.recursionDesired:Z
         9: .line 240
            aload 0 /* this */
            iload 10 /* maxQueriesPerResolve */
            ldc "maxQueriesPerResolve"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
            putfield io.netty.resolver.dns.DnsNameResolver.maxQueriesPerResolve:I
        10: .line 241
            aload 0 /* this */
            iload 12 /* maxPayloadSize */
            ldc "maxPayloadSize"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
            putfield io.netty.resolver.dns.DnsNameResolver.maxPayloadSize:I
        11: .line 242
            aload 0 /* this */
            iload 13 /* optResourceEnabled */
            putfield io.netty.resolver.dns.DnsNameResolver.optResourceEnabled:Z
        12: .line 243
            aload 0 /* this */
            aload 14 /* hostsFileEntriesResolver */
            ldc "hostsFileEntriesResolver"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.resolver.HostsFileEntriesResolver
            putfield io.netty.resolver.dns.DnsNameResolver.hostsFileEntriesResolver:Lio/netty/resolver/HostsFileEntriesResolver;
        13: .line 244
            aload 0 /* this */
        14: .line 245
            aload 15 /* dnsServerAddressStreamProvider */
            ldc "dnsServerAddressStreamProvider"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddressStreamProvider
        15: .line 244
            putfield io.netty.resolver.dns.DnsNameResolver.dnsServerAddressStreamProvider:Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
        16: .line 246
            aload 0 /* this */
            aload 3 /* resolveCache */
            ldc "resolveCache"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCache
            putfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
        17: .line 247
            aload 0 /* this */
            aload 4 /* authoritativeDnsServerCache */
            ldc "authoritativeDnsServerCache"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCache
            putfield io.netty.resolver.dns.DnsNameResolver.authoritativeDnsServerCache:Lio/netty/resolver/dns/DnsCache;
        18: .line 248
            aload 0 /* this */
            iload 11 /* traceEnabled */
            ifeq 25
        19: .line 249
            aload 5 /* dnsQueryLifecycleObserverFactory */
            instanceof io.netty.resolver.dns.NoopDnsQueryLifecycleObserverFactory
            ifeq 21
        20: .line 250
            new io.netty.resolver.dns.TraceDnsQueryLifeCycleObserverFactory
            dup
            invokespecial io.netty.resolver.dns.TraceDnsQueryLifeCycleObserverFactory.<init>:()V
            goto 26
        21: .line 251
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsNameResolver
            new io.netty.resolver.dns.BiDnsQueryLifecycleObserverFactory
            dup
            new io.netty.resolver.dns.TraceDnsQueryLifeCycleObserverFactory
            dup
            invokespecial io.netty.resolver.dns.TraceDnsQueryLifeCycleObserverFactory.<init>:()V
        22: .line 252
            aload 5 /* dnsQueryLifecycleObserverFactory */
        23: .line 251
            invokespecial io.netty.resolver.dns.BiDnsQueryLifecycleObserverFactory.<init>:(Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;)V
        24: .line 252
            goto 26
        25: .line 253
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsNameResolver
            aload 5 /* dnsQueryLifecycleObserverFactory */
            ldc "dnsQueryLifecycleObserverFactory"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsQueryLifecycleObserverFactory
        26: .line 248
      StackMap locals: io.netty.resolver.dns.DnsNameResolver io.netty.channel.EventLoop io.netty.channel.ChannelFactory io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsQueryLifecycleObserverFactory long io.netty.resolver.ResolvedAddressTypes int int int int int io.netty.resolver.HostsFileEntriesResolver io.netty.resolver.dns.DnsServerAddressStreamProvider java.lang.String[] int int
      StackMap stack: io.netty.resolver.dns.DnsNameResolver io.netty.resolver.dns.DnsQueryLifecycleObserverFactory
            putfield io.netty.resolver.dns.DnsNameResolver.dnsQueryLifecycleObserverFactory:Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;
        27: .line 254
            aload 0 /* this */
            aload 16 /* searchDomains */
            ifnull 28
            aload 16 /* searchDomains */
            invokevirtual java.lang.String[].clone:()Ljava/lang/Object;
            checkcast java.lang.String[]
            goto 29
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsNameResolver
        28: getstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_SEARCH_DOMAINS:[Ljava/lang/String;
      StackMap locals: io.netty.resolver.dns.DnsNameResolver io.netty.channel.EventLoop io.netty.channel.ChannelFactory io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsQueryLifecycleObserverFactory long io.netty.resolver.ResolvedAddressTypes int int int int int io.netty.resolver.HostsFileEntriesResolver io.netty.resolver.dns.DnsServerAddressStreamProvider java.lang.String[] int int
      StackMap stack: io.netty.resolver.dns.DnsNameResolver java.lang.String[]
        29: putfield io.netty.resolver.dns.DnsNameResolver.searchDomains:[Ljava/lang/String;
        30: .line 255
            aload 0 /* this */
            iload 17 /* ndots */
            iflt 31
            iload 17 /* ndots */
            goto 32
      StackMap locals:
      StackMap stack: io.netty.resolver.dns.DnsNameResolver
        31: getstatic io.netty.resolver.dns.DnsNameResolver.DEFAULT_NDOTS:I
      StackMap locals: io.netty.resolver.dns.DnsNameResolver io.netty.channel.EventLoop io.netty.channel.ChannelFactory io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsCache io.netty.resolver.dns.DnsQueryLifecycleObserverFactory long io.netty.resolver.ResolvedAddressTypes int int int int int io.netty.resolver.HostsFileEntriesResolver io.netty.resolver.dns.DnsServerAddressStreamProvider java.lang.String[] int int
      StackMap stack: io.netty.resolver.dns.DnsNameResolver int
        32: putfield io.netty.resolver.dns.DnsNameResolver.ndots:I
        33: .line 256
            aload 0 /* this */
            iload 18 /* decodeIdn */
            putfield io.netty.resolver.dns.DnsNameResolver.decodeIdn:Z
        34: .line 258
            invokestatic io.netty.resolver.dns.DnsNameResolver.$SWITCH_TABLE$io$netty$resolver$ResolvedAddressTypes:()[I
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedAddressTypes:Lio/netty/resolver/ResolvedAddressTypes;
            invokevirtual io.netty.resolver.ResolvedAddressTypes.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 35
                    2: 47
                    3: 41
                    4: 53
              default: 59
          }
        35: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield io.netty.resolver.dns.DnsNameResolver.supportsAAAARecords:Z
        36: .line 261
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsARecords:Z
        37: .line 262
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV4_ONLY_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
            putfield io.netty.resolver.dns.DnsNameResolver.resolveRecordTypes:[Lio/netty/handler/codec/dns/DnsRecordType;
        38: .line 263
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV4_ONLY_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
        39: .line 264
            aload 0 /* this */
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv4:Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.preferredAddressType:Lio/netty/channel/socket/InternetProtocolFamily;
        40: .line 265
            goto 60
        41: .line 267
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsAAAARecords:Z
        42: .line 268
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsARecords:Z
        43: .line 269
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV4_PREFERRED_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
            putfield io.netty.resolver.dns.DnsNameResolver.resolveRecordTypes:[Lio/netty/handler/codec/dns/DnsRecordType;
        44: .line 270
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV4_PREFERRED_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
        45: .line 271
            aload 0 /* this */
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv4:Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.preferredAddressType:Lio/netty/channel/socket/InternetProtocolFamily;
        46: .line 272
            goto 60
        47: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsAAAARecords:Z
        48: .line 275
            aload 0 /* this */
            iconst_0
            putfield io.netty.resolver.dns.DnsNameResolver.supportsARecords:Z
        49: .line 276
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV6_ONLY_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
            putfield io.netty.resolver.dns.DnsNameResolver.resolveRecordTypes:[Lio/netty/handler/codec/dns/DnsRecordType;
        50: .line 277
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV6_ONLY_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
        51: .line 278
            aload 0 /* this */
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv6:Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.preferredAddressType:Lio/netty/channel/socket/InternetProtocolFamily;
        52: .line 279
            goto 60
        53: .line 281
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsAAAARecords:Z
        54: .line 282
            aload 0 /* this */
            iconst_1
            putfield io.netty.resolver.dns.DnsNameResolver.supportsARecords:Z
        55: .line 283
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV6_PREFERRED_RESOLVED_RECORD_TYPES:[Lio/netty/handler/codec/dns/DnsRecordType;
            putfield io.netty.resolver.dns.DnsNameResolver.resolveRecordTypes:[Lio/netty/handler/codec/dns/DnsRecordType;
        56: .line 284
            aload 0 /* this */
            getstatic io.netty.resolver.dns.DnsNameResolver.IPV6_PREFERRED_RESOLVED_PROTOCOL_FAMILIES:[Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
        57: .line 285
            aload 0 /* this */
            getstatic io.netty.channel.socket.InternetProtocolFamily.IPv6:Lio/netty/channel/socket/InternetProtocolFamily;
            putfield io.netty.resolver.dns.DnsNameResolver.preferredAddressType:Lio/netty/channel/socket/InternetProtocolFamily;
        58: .line 286
            goto 60
        59: .line 288
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown ResolvedAddressTypes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* resolvedAddressTypes */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 291
      StackMap locals:
      StackMap stack:
            new io.netty.bootstrap.Bootstrap
            dup
            invokespecial io.netty.bootstrap.Bootstrap.<init>:()V
            astore 19 /* b */
        start local 19 // io.netty.bootstrap.Bootstrap b
        61: .line 292
            aload 19 /* b */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokevirtual io.netty.bootstrap.Bootstrap.group:(Lio/netty/channel/EventLoopGroup;)Lio/netty/bootstrap/AbstractBootstrap;
            pop
        62: .line 293
            aload 19 /* b */
            aload 2 /* channelFactory */
            invokevirtual io.netty.bootstrap.Bootstrap.channelFactory:(Lio/netty/channel/ChannelFactory;)Lio/netty/bootstrap/AbstractBootstrap;
            pop
        63: .line 294
            aload 19 /* b */
            getstatic io.netty.channel.ChannelOption.DATAGRAM_CHANNEL_ACTIVE_ON_REGISTRATION:Lio/netty/channel/ChannelOption;
            iconst_1
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokevirtual io.netty.bootstrap.Bootstrap.option:(Lio/netty/channel/ChannelOption;Ljava/lang/Object;)Lio/netty/bootstrap/AbstractBootstrap;
            pop
        64: .line 295
            new io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            invokespecial io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Lio/netty/util/concurrent/Promise;)V
            astore 20 /* responseHandler */
        start local 20 // io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler responseHandler
        65: .line 296
            aload 19 /* b */
            new io.netty.resolver.dns.DnsNameResolver$2
            dup
            aload 0 /* this */
            aload 20 /* responseHandler */
            invokespecial io.netty.resolver.dns.DnsNameResolver$2.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Lio/netty/resolver/dns/DnsNameResolver$DnsResponseHandler;)V
            invokevirtual io.netty.bootstrap.Bootstrap.handler:(Lio/netty/channel/ChannelHandler;)Lio/netty/bootstrap/AbstractBootstrap;
            pop
        66: .line 303
            aload 0 /* this */
            aload 20 /* responseHandler */
            getfield io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler.channelActivePromise:Lio/netty/util/concurrent/Promise;
            putfield io.netty.resolver.dns.DnsNameResolver.channelFuture:Lio/netty/util/concurrent/Future;
        67: .line 304
            aload 0 /* this */
            aload 19 /* b */
            invokevirtual io.netty.bootstrap.Bootstrap.register:()Lio/netty/channel/ChannelFuture;
            invokeinterface io.netty.channel.ChannelFuture.channel:()Lio/netty/channel/Channel;
            checkcast io.netty.channel.socket.DatagramChannel
            putfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
        68: .line 305
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.config:()Lio/netty/channel/socket/DatagramChannelConfig;
            new io.netty.channel.FixedRecvByteBufAllocator
            dup
            iload 12 /* maxPayloadSize */
            invokespecial io.netty.channel.FixedRecvByteBufAllocator.<init>:(I)V
            invokeinterface io.netty.channel.socket.DatagramChannelConfig.setRecvByteBufAllocator:(Lio/netty/channel/RecvByteBufAllocator;)Lio/netty/channel/socket/DatagramChannelConfig;
            pop
        69: .line 307
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.closeFuture:()Lio/netty/channel/ChannelFuture;
            new io.netty.resolver.dns.DnsNameResolver$3
            dup
            aload 0 /* this */
            aload 3 /* resolveCache */
            invokespecial io.netty.resolver.dns.DnsNameResolver$3.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Lio/netty/resolver/dns/DnsCache;)V
            invokeinterface io.netty.channel.ChannelFuture.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/channel/ChannelFuture;
            pop
        70: .line 313
            return
        end local 20 // io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler responseHandler
        end local 19 // io.netty.bootstrap.Bootstrap b
        end local 18 // boolean decodeIdn
        end local 17 // int ndots
        end local 16 // java.lang.String[] searchDomains
        end local 15 // io.netty.resolver.dns.DnsServerAddressStreamProvider dnsServerAddressStreamProvider
        end local 14 // io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver
        end local 13 // boolean optResourceEnabled
        end local 12 // int maxPayloadSize
        end local 11 // boolean traceEnabled
        end local 10 // int maxQueriesPerResolve
        end local 9 // boolean recursionDesired
        end local 8 // io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes
        end local 6 // long queryTimeoutMillis
        end local 5 // io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory
        end local 4 // io.netty.resolver.dns.DnsCache authoritativeDnsServerCache
        end local 3 // io.netty.resolver.dns.DnsCache resolveCache
        end local 2 // io.netty.channel.ChannelFactory channelFactory
        end local 1 // io.netty.channel.EventLoop eventLoop
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot                              Name  Signature
            0   71     0                              this  Lio/netty/resolver/dns/DnsNameResolver;
            0   71     1                         eventLoop  Lio/netty/channel/EventLoop;
            0   71     2                    channelFactory  Lio/netty/channel/ChannelFactory<+Lio/netty/channel/socket/DatagramChannel;>;
            0   71     3                      resolveCache  Lio/netty/resolver/dns/DnsCache;
            0   71     4       authoritativeDnsServerCache  Lio/netty/resolver/dns/DnsCache;
            0   71     5  dnsQueryLifecycleObserverFactory  Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;
            0   71     6                queryTimeoutMillis  J
            0   71     8              resolvedAddressTypes  Lio/netty/resolver/ResolvedAddressTypes;
            0   71     9                  recursionDesired  Z
            0   71    10              maxQueriesPerResolve  I
            0   71    11                      traceEnabled  Z
            0   71    12                    maxPayloadSize  I
            0   71    13                optResourceEnabled  Z
            0   71    14          hostsFileEntriesResolver  Lio/netty/resolver/HostsFileEntriesResolver;
            0   71    15    dnsServerAddressStreamProvider  Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
            0   71    16                     searchDomains  [Ljava/lang/String;
            0   71    17                             ndots  I
            0   71    18                         decodeIdn  Z
           61   71    19                                 b  Lio/netty/bootstrap/Bootstrap;
           65   71    20                   responseHandler  Lio/netty/resolver/dns/DnsNameResolver$DnsResponseHandler;
    Signature: (Lio/netty/channel/EventLoop;Lio/netty/channel/ChannelFactory<+Lio/netty/channel/socket/DatagramChannel;>;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/dns/DnsCache;Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;JLio/netty/resolver/ResolvedAddressTypes;ZIZIZLio/netty/resolver/HostsFileEntriesResolver;Lio/netty/resolver/dns/DnsServerAddressStreamProvider;[Ljava/lang/String;IZ)V
    MethodParameters:
                                  Name  Flags
      eventLoop                         
      channelFactory                    
      resolveCache                      final
      authoritativeDnsServerCache       
      dnsQueryLifecycleObserverFactory  
      queryTimeoutMillis                
      resolvedAddressTypes              
      recursionDesired                  
      maxQueriesPerResolve              
      traceEnabled                      
      maxPayloadSize                    
      optResourceEnabled                
      hostsFileEntriesResolver          
      dnsServerAddressStreamProvider    
      searchDomains                     
      ndots                             
      decodeIdn                         

  int dnsRedirectPort(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)I
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetAddress server
         0: .line 317
            bipush 53
            ireturn
        end local 1 // java.net.InetAddress server
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  server  Ljava/net/InetAddress;
    MethodParameters:
        Name  Flags
      server  

  final io.netty.resolver.dns.DnsQueryLifecycleObserverFactory dnsQueryLifecycleObserverFactory();
    descriptor: ()Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 321
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.dnsQueryLifecycleObserverFactory:Lio/netty/resolver/dns/DnsQueryLifecycleObserverFactory;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  protected io.netty.resolver.dns.DnsServerAddressStream uncachedRedirectDnsServerStream(java.util.List<java.net.InetSocketAddress>);
    descriptor: (Ljava/util/List;)Lio/netty/resolver/dns/DnsServerAddressStream;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.util.List nameServers
         0: .line 330
            aload 1 /* nameServers */
            invokestatic io.netty.resolver.dns.DnsServerAddresses.sequential:(Ljava/lang/Iterable;)Lio/netty/resolver/dns/DnsServerAddresses;
            invokevirtual io.netty.resolver.dns.DnsServerAddresses.stream:()Lio/netty/resolver/dns/DnsServerAddressStream;
            areturn
        end local 1 // java.util.List nameServers
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  nameServers  Ljava/util/List<Ljava/net/InetSocketAddress;>;
    Signature: (Ljava/util/List<Ljava/net/InetSocketAddress;>;)Lio/netty/resolver/dns/DnsServerAddressStream;
    MethodParameters:
             Name  Flags
      nameServers  

  public io.netty.resolver.dns.DnsCache resolveCache();
    descriptor: ()Lio/netty/resolver/dns/DnsCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 337
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public io.netty.resolver.dns.DnsCache authoritativeDnsServerCache();
    descriptor: ()Lio/netty/resolver/dns/DnsCache;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 344
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.authoritativeDnsServerCache:Lio/netty/resolver/dns/DnsCache;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public long queryTimeoutMillis();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 352
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.queryTimeoutMillis:J
            lreturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public io.netty.resolver.ResolvedAddressTypes resolvedAddressTypes();
    descriptor: ()Lio/netty/resolver/ResolvedAddressTypes;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 360
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedAddressTypes:Lio/netty/resolver/ResolvedAddressTypes;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  io.netty.channel.socket.InternetProtocolFamily[] resolvedInternetProtocolFamiliesUnsafe();
    descriptor: ()[Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 364
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final java.lang.String[] searchDomains();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 368
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.searchDomains:[Ljava/lang/String;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final int ndots();
    descriptor: ()I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 372
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ndots:I
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final boolean supportsAAAARecords();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 376
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.supportsAAAARecords:Z
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final boolean supportsARecords();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 380
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.supportsARecords:Z
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final io.netty.channel.socket.InternetProtocolFamily preferredAddressType();
    descriptor: ()Lio/netty/channel/socket/InternetProtocolFamily;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 384
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.preferredAddressType:Lio/netty/channel/socket/InternetProtocolFamily;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final io.netty.handler.codec.dns.DnsRecordType[] resolveRecordTypes();
    descriptor: ()[Lio/netty/handler/codec/dns/DnsRecordType;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 388
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveRecordTypes:[Lio/netty/handler/codec/dns/DnsRecordType;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  final boolean isDecodeIdn();
    descriptor: ()Z
    flags: (0x0010) ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 392
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.decodeIdn:Z
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public boolean isRecursionDesired();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 400
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.recursionDesired:Z
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public int maxQueriesPerResolve();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 408
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.maxQueriesPerResolve:I
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public int maxPayloadSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 415
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.maxPayloadSize:I
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public boolean isOptResourceEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 423
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.optResourceEnabled:Z
            ireturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public io.netty.resolver.HostsFileEntriesResolver hostsFileEntriesResolver();
    descriptor: ()Lio/netty/resolver/HostsFileEntriesResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 431
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.hostsFileEntriesResolver:Lio/netty/resolver/HostsFileEntriesResolver;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 441
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.isOpen:()Z
            ifeq 2
         1: .line 442
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.close:()Lio/netty/channel/ChannelFuture;
            pop
         2: .line 444
      StackMap locals:
      StackMap stack:
            return
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  protected io.netty.channel.EventLoop executor();
    descriptor: ()Lio/netty/channel/EventLoop;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 448
            aload 0 /* this */
            invokespecial io.netty.resolver.InetNameResolver.executor:()Lio/netty/util/concurrent/EventExecutor;
            checkcast io.netty.channel.EventLoop
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  private java.net.InetAddress resolveHostsFileEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/InetAddress;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String hostname
         0: .line 452
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.hostsFileEntriesResolver:Lio/netty/resolver/HostsFileEntriesResolver;
            ifnonnull 2
         1: .line 453
            aconst_null
            areturn
         2: .line 455
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.hostsFileEntriesResolver:Lio/netty/resolver/HostsFileEntriesResolver;
            aload 1 /* hostname */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedAddressTypes:Lio/netty/resolver/ResolvedAddressTypes;
            invokeinterface io.netty.resolver.HostsFileEntriesResolver.address:(Ljava/lang/String;Lio/netty/resolver/ResolvedAddressTypes;)Ljava/net/InetAddress;
            astore 2 /* address */
        start local 2 // java.net.InetAddress address
         3: .line 456
            aload 2 /* address */
            ifnonnull 5
            invokestatic io.netty.util.internal.PlatformDependent.isWindows:()Z
            ifeq 5
            ldc "localhost"
            aload 1 /* hostname */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 460
            getstatic io.netty.resolver.dns.DnsNameResolver.LOCALHOST_ADDRESS:Ljava/net/InetAddress;
            areturn
         5: .line 462
      StackMap locals: java.net.InetAddress
      StackMap stack:
            aload 2 /* address */
            areturn
        end local 2 // java.net.InetAddress address
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    6     1  hostname  Ljava/lang/String;
            3    6     2   address  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      hostname  

  public final io.netty.util.concurrent.Future<java.net.InetAddress> resolve(java.lang.String, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // java.lang.Iterable additionals
         0: .line 475
            aload 0 /* this */
            aload 1 /* inetHost */
            aload 2 /* additionals */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolve:(Ljava/lang/String;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // java.lang.Iterable additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1     inetHost  Ljava/lang/String;
            0    1     2  additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;)Lio/netty/util/concurrent/Future<Ljava/net/InetAddress;>;
    MethodParameters:
             Name  Flags
      inetHost     
      additionals  

  public final io.netty.util.concurrent.Future<java.net.InetAddress> resolve(java.lang.String, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>, io.netty.util.concurrent.Promise<java.net.InetAddress>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // java.lang.Iterable additionals
        start local 3 // io.netty.util.concurrent.Promise promise
         0: .line 489
            aload 3 /* promise */
            ldc "promise"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 490
            aload 2 /* additionals */
            iconst_1
            invokestatic io.netty.resolver.dns.DnsNameResolver.toArray:(Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
            astore 4 /* additionalsArray */
        start local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
         2: .line 492
            aload 0 /* this */
            aload 1 /* inetHost */
            aload 4 /* additionalsArray */
            aload 3 /* promise */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolve:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
         3: .line 493
            aload 3 /* promise */
         4: areturn
         5: .line 494
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String java.lang.Iterable io.netty.util.concurrent.Promise io.netty.handler.codec.dns.DnsRecord[]
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         6: .line 495
            aload 3 /* promise */
            aload 5 /* e */
            invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
            areturn
        end local 5 // java.lang.Exception e
        end local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // java.lang.Iterable additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lio/netty/resolver/dns/DnsNameResolver;
            0    7     1          inetHost  Ljava/lang/String;
            0    7     2       additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
            0    7     3           promise  Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;
            2    7     4  additionalsArray  [Lio/netty/handler/codec/dns/DnsRecord;
            6    7     5                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;)Lio/netty/util/concurrent/Future<Ljava/net/InetAddress;>;
    MethodParameters:
             Name  Flags
      inetHost     
      additionals  
      promise      

  public final io.netty.util.concurrent.Future<java.util.List<java.net.InetAddress>> resolveAll(java.lang.String, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // java.lang.Iterable additionals
         0: .line 508
            aload 0 /* this */
            aload 1 /* inetHost */
            aload 2 /* additionals */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveAll:(Ljava/lang/String;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // java.lang.Iterable additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1     inetHost  Ljava/lang/String;
            0    1     2  additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;)Lio/netty/util/concurrent/Future<Ljava/util/List<Ljava/net/InetAddress;>;>;
    MethodParameters:
             Name  Flags
      inetHost     
      additionals  

  public final io.netty.util.concurrent.Future<java.util.List<java.net.InetAddress>> resolveAll(java.lang.String, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>, io.netty.util.concurrent.Promise<java.util.List<java.net.InetAddress>>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // java.lang.Iterable additionals
        start local 3 // io.netty.util.concurrent.Promise promise
         0: .line 522
            aload 3 /* promise */
            ldc "promise"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 523
            aload 2 /* additionals */
            iconst_1
            invokestatic io.netty.resolver.dns.DnsNameResolver.toArray:(Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
            astore 4 /* additionalsArray */
        start local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
         2: .line 525
            aload 0 /* this */
            aload 1 /* inetHost */
            aload 4 /* additionalsArray */
            aload 3 /* promise */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveAll:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
         3: .line 526
            aload 3 /* promise */
         4: areturn
         5: .line 527
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String java.lang.Iterable io.netty.util.concurrent.Promise io.netty.handler.codec.dns.DnsRecord[]
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
         6: .line 528
            aload 3 /* promise */
            aload 5 /* e */
            invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
            areturn
        end local 5 // java.lang.Exception e
        end local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // java.lang.Iterable additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lio/netty/resolver/dns/DnsNameResolver;
            0    7     1          inetHost  Ljava/lang/String;
            0    7     2       additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
            0    7     3           promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
            2    7     4  additionalsArray  [Lio/netty/handler/codec/dns/DnsRecord;
            6    7     5                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;)Lio/netty/util/concurrent/Future<Ljava/util/List<Ljava/net/InetAddress;>;>;
    MethodParameters:
             Name  Flags
      inetHost     
      additionals  
      promise      

  protected void doResolve(java.lang.String, io.netty.util.concurrent.Promise<java.net.InetAddress>);
    descriptor: (Ljava/lang/String;Lio/netty/util/concurrent/Promise;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.util.concurrent.Promise promise
         0: .line 534
            aload 0 /* this */
            aload 1 /* inetHost */
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
            aload 2 /* promise */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolve:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
         1: .line 535
            return
        end local 2 // io.netty.util.concurrent.Promise promise
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    2     1  inetHost  Ljava/lang/String;
            0    2     2   promise  Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;)V
    MethodParameters:
          Name  Flags
      inetHost  
      promise   

  public final io.netty.util.concurrent.Future<java.util.List<io.netty.handler.codec.dns.DnsRecord>> resolveAll(io.netty.handler.codec.dns.DnsQuestion);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
         0: .line 549
            aload 0 /* this */
            aload 1 /* question */
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveAll:(Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  question  Lio/netty/handler/codec/dns/DnsQuestion;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
    MethodParameters:
          Name  Flags
      question  

  public final io.netty.util.concurrent.Future<java.util.List<io.netty.handler.codec.dns.DnsRecord>> resolveAll(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
        start local 2 // java.lang.Iterable additionals
         0: .line 565
            aload 0 /* this */
            aload 1 /* question */
            aload 2 /* additionals */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveAll:(Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // java.lang.Iterable additionals
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1     question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     2  additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;)Lio/netty/util/concurrent/Future<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
    MethodParameters:
             Name  Flags
      question     
      additionals  

  public final io.netty.util.concurrent.Future<java.util.List<io.netty.handler.codec.dns.DnsRecord>> resolveAll(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>, io.netty.util.concurrent.Promise<java.util.List<io.netty.handler.codec.dns.DnsRecord>>);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
        start local 2 // java.lang.Iterable additionals
        start local 3 // io.netty.util.concurrent.Promise promise
         0: .line 583
            aload 2 /* additionals */
            iconst_1
            invokestatic io.netty.resolver.dns.DnsNameResolver.toArray:(Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
            astore 4 /* additionalsArray */
        start local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
         1: .line 584
            aload 0 /* this */
            aload 1 /* question */
            aload 4 /* additionalsArray */
            aload 3 /* promise */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveAll:(Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 4 // io.netty.handler.codec.dns.DnsRecord[] additionalsArray
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // java.lang.Iterable additionals
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lio/netty/resolver/dns/DnsNameResolver;
            0    2     1          question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    2     2       additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
            0    2     3           promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
            1    2     4  additionalsArray  [Lio/netty/handler/codec/dns/DnsRecord;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;Lio/netty/util/concurrent/Promise<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;)Lio/netty/util/concurrent/Future<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
    MethodParameters:
             Name  Flags
      question     
      additionals  
      promise      

  private io.netty.util.concurrent.Future<java.util.List<io.netty.handler.codec.dns.DnsRecord>> resolveAll(io.netty.handler.codec.dns.DnsQuestion, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.util.List<io.netty.handler.codec.dns.DnsRecord>>);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=8, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
         0: .line 589
            aload 1 /* question */
            ldc "question"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 590
            aload 3 /* promise */
            ldc "promise"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 593
            aload 1 /* question */
            invokeinterface io.netty.handler.codec.dns.DnsQuestion.type:()Lio/netty/handler/codec/dns/DnsRecordType;
            astore 4 /* type */
        start local 4 // io.netty.handler.codec.dns.DnsRecordType type
         3: .line 594
            aload 1 /* question */
            invokeinterface io.netty.handler.codec.dns.DnsQuestion.name:()Ljava/lang/String;
            astore 5 /* hostname */
        start local 5 // java.lang.String hostname
         4: .line 596
            aload 4 /* type */
            getstatic io.netty.handler.codec.dns.DnsRecordType.A:Lio/netty/handler/codec/dns/DnsRecordType;
            if_acmpeq 5
            aload 4 /* type */
            getstatic io.netty.handler.codec.dns.DnsRecordType.AAAA:Lio/netty/handler/codec/dns/DnsRecordType;
            if_acmpne 20
         5: .line 597
      StackMap locals: io.netty.handler.codec.dns.DnsRecordType java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 5 /* hostname */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveHostsFileEntry:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 6 /* hostsFileEntry */
        start local 6 // java.net.InetAddress hostsFileEntry
         6: .line 598
            aload 6 /* hostsFileEntry */
            ifnull 20
         7: .line 599
            aconst_null
            astore 7 /* content */
        start local 7 // io.netty.buffer.ByteBuf content
         8: .line 600
            aload 6 /* hostsFileEntry */
            instanceof java.net.Inet4Address
            ifeq 12
         9: .line 601
            aload 4 /* type */
            getstatic io.netty.handler.codec.dns.DnsRecordType.A:Lio/netty/handler/codec/dns/DnsRecordType;
            if_acmpne 15
        10: .line 602
            aload 6 /* hostsFileEntry */
            invokevirtual java.net.InetAddress.getAddress:()[B
            invokestatic io.netty.buffer.Unpooled.wrappedBuffer:([B)Lio/netty/buffer/ByteBuf;
            astore 7 /* content */
        11: .line 604
            goto 15
      StackMap locals: java.net.InetAddress io.netty.buffer.ByteBuf
      StackMap stack:
        12: aload 6 /* hostsFileEntry */
            instanceof java.net.Inet6Address
            ifeq 15
        13: .line 605
            aload 4 /* type */
            getstatic io.netty.handler.codec.dns.DnsRecordType.AAAA:Lio/netty/handler/codec/dns/DnsRecordType;
            if_acmpne 15
        14: .line 606
            aload 6 /* hostsFileEntry */
            invokevirtual java.net.InetAddress.getAddress:()[B
            invokestatic io.netty.buffer.Unpooled.wrappedBuffer:([B)Lio/netty/buffer/ByteBuf;
            astore 7 /* content */
        15: .line 610
      StackMap locals:
      StackMap stack:
            aload 7 /* content */
            ifnull 20
        16: .line 613
            aload 3 /* promise */
        17: .line 614
            new io.netty.handler.codec.dns.DefaultDnsRawRecord
            dup
            aload 5 /* hostname */
            aload 4 /* type */
            ldc 86400
            aload 7 /* content */
            invokespecial io.netty.handler.codec.dns.DefaultDnsRawRecord.<init>:(Ljava/lang/String;Lio/netty/handler/codec/dns/DnsRecordType;JLio/netty/buffer/ByteBuf;)V
        18: .line 613
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokestatic io.netty.resolver.dns.DnsNameResolver.trySuccess:(Lio/netty/util/concurrent/Promise;Ljava/lang/Object;)V
        19: .line 615
            aload 3 /* promise */
            areturn
        end local 7 // io.netty.buffer.ByteBuf content
        end local 6 // java.net.InetAddress hostsFileEntry
        20: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.dnsServerAddressStreamProvider:Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
            aload 5 /* hostname */
            invokeinterface io.netty.resolver.dns.DnsServerAddressStreamProvider.nameServerAddressStream:(Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
        21: .line 621
            astore 6 /* nameServerAddrs */
        start local 6 // io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs
        22: .line 623
            new io.netty.resolver.dns.DnsRecordResolveContext
            dup
            aload 0 /* this */
            aload 1 /* question */
            aload 2 /* additionals */
            aload 6 /* nameServerAddrs */
            invokespecial io.netty.resolver.dns.DnsRecordResolveContext.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/resolver/dns/DnsServerAddressStream;)V
            aload 3 /* promise */
            invokevirtual io.netty.resolver.dns.DnsRecordResolveContext.resolve:(Lio/netty/util/concurrent/Promise;)V
        23: .line 624
            aload 3 /* promise */
            areturn
        end local 6 // io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs
        end local 5 // java.lang.String hostname
        end local 4 // io.netty.handler.codec.dns.DnsRecordType type
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Lio/netty/resolver/dns/DnsNameResolver;
            0   24     1         question  Lio/netty/handler/codec/dns/DnsQuestion;
            0   24     2      additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0   24     3          promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
            3   24     4             type  Lio/netty/handler/codec/dns/DnsRecordType;
            4   24     5         hostname  Ljava/lang/String;
            6   20     6   hostsFileEntry  Ljava/net/InetAddress;
            8   20     7          content  Lio/netty/buffer/ByteBuf;
           22   24     6  nameServerAddrs  Lio/netty/resolver/dns/DnsServerAddressStream;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;)Lio/netty/util/concurrent/Future<Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;>;
    MethodParameters:
             Name  Flags
      question     
      additionals  
      promise      

  private static io.netty.handler.codec.dns.DnsRecord[] toArray(java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>, boolean);
    descriptor: (Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.Iterable additionals
        start local 1 // boolean validateType
         0: .line 628
            aload 0 /* additionals */
            ldc "additionals"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 629
            aload 0 /* additionals */
            instanceof java.util.Collection
            ifeq 8
         2: .line 630
            aload 0 /* additionals */
            checkcast java.util.Collection
            astore 2 /* records */
        start local 2 // java.util.Collection records
         3: .line 631
            aload 0 /* additionals */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 6
      StackMap locals: java.lang.Iterable int java.util.Collection top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.dns.DnsRecord
            astore 3 /* r */
        start local 3 // io.netty.handler.codec.dns.DnsRecord r
         5: .line 632
            aload 3 /* r */
            iload 1 /* validateType */
            invokestatic io.netty.resolver.dns.DnsNameResolver.validateAdditional:(Lio/netty/handler/codec/dns/DnsRecord;Z)V
        end local 3 // io.netty.handler.codec.dns.DnsRecord r
         6: .line 631
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         7: .line 634
            aload 2 /* records */
            aload 2 /* records */
            invokeinterface java.util.Collection.size:()I
            anewarray io.netty.handler.codec.dns.DnsRecord
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.netty.handler.codec.dns.DnsRecord[]
            areturn
        end local 2 // java.util.Collection records
         8: .line 637
      StackMap locals: java.lang.Iterable int
      StackMap stack:
            aload 0 /* additionals */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 2 /* additionalsIt */
        start local 2 // java.util.Iterator additionalsIt
         9: .line 638
            aload 2 /* additionalsIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        10: .line 639
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
            areturn
        11: .line 641
      StackMap locals: java.util.Iterator
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* records */
        start local 3 // java.util.List records
        12: .line 643
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* additionalsIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.netty.handler.codec.dns.DnsRecord
            astore 4 /* r */
        start local 4 // io.netty.handler.codec.dns.DnsRecord r
        13: .line 644
            aload 4 /* r */
            iload 1 /* validateType */
            invokestatic io.netty.resolver.dns.DnsNameResolver.validateAdditional:(Lio/netty/handler/codec/dns/DnsRecord;Z)V
        14: .line 645
            aload 3 /* records */
            aload 4 /* r */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // io.netty.handler.codec.dns.DnsRecord r
        15: .line 646
            aload 2 /* additionalsIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        16: .line 648
            aload 3 /* records */
            aload 3 /* records */
            invokeinterface java.util.List.size:()I
            anewarray io.netty.handler.codec.dns.DnsRecord
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast io.netty.handler.codec.dns.DnsRecord[]
            areturn
        end local 3 // java.util.List records
        end local 2 // java.util.Iterator additionalsIt
        end local 1 // boolean validateType
        end local 0 // java.lang.Iterable additionals
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0    additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
            0   17     1   validateType  Z
            3    8     2        records  Ljava/util/Collection<Lio/netty/handler/codec/dns/DnsRecord;>;
            5    6     3              r  Lio/netty/handler/codec/dns/DnsRecord;
            9   17     2  additionalsIt  Ljava/util/Iterator<Lio/netty/handler/codec/dns/DnsRecord;>;
           12   17     3        records  Ljava/util/List<Lio/netty/handler/codec/dns/DnsRecord;>;
           13   15     4              r  Lio/netty/handler/codec/dns/DnsRecord;
    Signature: (Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;Z)[Lio/netty/handler/codec/dns/DnsRecord;
    MethodParameters:
              Name  Flags
      additionals   
      validateType  

  private static void validateAdditional(io.netty.handler.codec.dns.DnsRecord, boolean);
    descriptor: (Lio/netty/handler/codec/dns/DnsRecord;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.dns.DnsRecord record
        start local 1 // boolean validateType
         0: .line 652
            aload 0 /* record */
            ldc "record"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 653
            iload 1 /* validateType */
            ifeq 3
            aload 0 /* record */
            instanceof io.netty.handler.codec.dns.DnsRawRecord
            ifeq 3
         2: .line 654
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "DnsRawRecord implementations not allowed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* record */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 656
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean validateType
        end local 0 // io.netty.handler.codec.dns.DnsRecord record
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0        record  Lio/netty/handler/codec/dns/DnsRecord;
            0    4     1  validateType  Z
    MethodParameters:
              Name  Flags
      record        
      validateType  

  private java.net.InetAddress loopbackAddress();
    descriptor: ()Ljava/net/InetAddress;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 659
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.preferredAddressType:()Lio/netty/channel/socket/InternetProtocolFamily;
            invokevirtual io.netty.channel.socket.InternetProtocolFamily.localhost:()Ljava/net/InetAddress;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  protected void doResolve(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.net.InetAddress>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 670
            aload 1 /* inetHost */
            ifnull 1
            aload 1 /* inetHost */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 672
      StackMap locals:
      StackMap stack:
            aload 3 /* promise */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.loopbackAddress:()Ljava/net/InetAddress;
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
         2: .line 673
            return
         3: .line 675
      StackMap locals:
      StackMap stack:
            aload 1 /* inetHost */
            invokestatic io.netty.util.NetUtil.createByteArrayFromIpAddressString:(Ljava/lang/String;)[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         4: .line 676
            aload 5 /* bytes */
            ifnull 7
         5: .line 678
            aload 3 /* promise */
            aload 5 /* bytes */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
         6: .line 679
            return
         7: .line 682
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* inetHost */
            invokestatic io.netty.resolver.dns.DnsNameResolver.hostname:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* hostname */
        start local 6 // java.lang.String hostname
         8: .line 684
            aload 0 /* this */
            aload 6 /* hostname */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveHostsFileEntry:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 7 /* hostsFileEntry */
        start local 7 // java.net.InetAddress hostsFileEntry
         9: .line 685
            aload 7 /* hostsFileEntry */
            ifnull 12
        10: .line 686
            aload 3 /* promise */
            aload 7 /* hostsFileEntry */
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
        11: .line 687
            return
        12: .line 690
      StackMap locals: java.lang.String java.net.InetAddress
      StackMap stack:
            aload 0 /* this */
            aload 6 /* hostname */
            aload 2 /* additionals */
            aload 3 /* promise */
            aload 4 /* resolveCache */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveCached:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)Z
            ifne 14
        13: .line 691
            aload 0 /* this */
            aload 6 /* hostname */
            aload 2 /* additionals */
            aload 3 /* promise */
            aload 4 /* resolveCache */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveUncached:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
        14: .line 693
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.net.InetAddress hostsFileEntry
        end local 6 // java.lang.String hostname
        end local 5 // byte[] bytes
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0   15     1        inetHost  Ljava/lang/String;
            0   15     2     additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0   15     3         promise  Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;
            0   15     4    resolveCache  Lio/netty/resolver/dns/DnsCache;
            4   15     5           bytes  [B
            8   15     6        hostname  Ljava/lang/String;
            9   15     7  hostsFileEntry  Ljava/net/InetAddress;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;Lio/netty/resolver/dns/DnsCache;)V
    MethodParameters:
              Name  Flags
      inetHost      
      additionals   
      promise       
      resolveCache  

  private boolean doResolveCached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.net.InetAddress>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=14, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String hostname
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 699
            aload 4 /* resolveCache */
            aload 1 /* hostname */
            aload 2 /* additionals */
            invokeinterface io.netty.resolver.dns.DnsCache.get:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;)Ljava/util/List;
            astore 5 /* cachedEntries */
        start local 5 // java.util.List cachedEntries
         1: .line 700
            aload 5 /* cachedEntries */
            ifnull 2
            aload 5 /* cachedEntries */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         2: .line 701
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            ireturn
         3: .line 704
      StackMap locals:
      StackMap stack:
            aload 5 /* cachedEntries */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCacheEntry
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.cause:()Ljava/lang/Throwable;
            astore 6 /* cause */
        start local 6 // java.lang.Throwable cause
         4: .line 705
            aload 6 /* cause */
            ifnonnull 19
         5: .line 706
            aload 5 /* cachedEntries */
            invokeinterface java.util.List.size:()I
            istore 7 /* numEntries */
        start local 7 // int numEntries
         6: .line 708
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 17
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable int top int int io.netty.channel.socket.InternetProtocolFamily[]
      StackMap stack:
         7: aload 11
            iload 9
            aaload
            astore 8 /* f */
        start local 8 // io.netty.channel.socket.InternetProtocolFamily f
         8: .line 709
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         9: goto 15
        10: .line 710
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable int io.netty.channel.socket.InternetProtocolFamily int int io.netty.channel.socket.InternetProtocolFamily[] int
      StackMap stack:
            aload 5 /* cachedEntries */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCacheEntry
            astore 13 /* e */
        start local 13 // io.netty.resolver.dns.DnsCacheEntry e
        11: .line 711
            aload 8 /* f */
            invokevirtual io.netty.channel.socket.InternetProtocolFamily.addressType:()Ljava/lang/Class;
            aload 13 /* e */
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.address:()Ljava/net/InetAddress;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 14
        12: .line 712
            aload 3 /* promise */
            aload 13 /* e */
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.address:()Ljava/net/InetAddress;
            invokestatic io.netty.resolver.dns.DnsNameResolver.trySuccess:(Lio/netty/util/concurrent/Promise;Ljava/lang/Object;)V
        13: .line 713
            iconst_1
            ireturn
        end local 13 // io.netty.resolver.dns.DnsCacheEntry e
        14: .line 709
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 12 /* i */
            iload 7 /* numEntries */
            if_icmplt 10
        end local 12 // int i
        end local 8 // io.netty.channel.socket.InternetProtocolFamily f
        16: .line 708
            iinc 9 1
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable int top int int io.netty.channel.socket.InternetProtocolFamily[]
      StackMap stack:
        17: iload 9
            iload 10
            if_icmplt 7
        18: .line 717
            iconst_0
            ireturn
        end local 7 // int numEntries
        19: .line 719
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable
      StackMap stack:
            aload 3 /* promise */
            aload 6 /* cause */
            invokestatic io.netty.resolver.dns.DnsNameResolver.tryFailure:(Lio/netty/util/concurrent/Promise;Ljava/lang/Throwable;)V
        20: .line 720
            iconst_1
            ireturn
        end local 6 // java.lang.Throwable cause
        end local 5 // java.util.List cachedEntries
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   21     0           this  Lio/netty/resolver/dns/DnsNameResolver;
            0   21     1       hostname  Ljava/lang/String;
            0   21     2    additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0   21     3        promise  Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;
            0   21     4   resolveCache  Lio/netty/resolver/dns/DnsCache;
            1   21     5  cachedEntries  Ljava/util/List<+Lio/netty/resolver/dns/DnsCacheEntry;>;
            4   21     6          cause  Ljava/lang/Throwable;
            6   19     7     numEntries  I
            8   16     8              f  Lio/netty/channel/socket/InternetProtocolFamily;
            9   16    12              i  I
           11   14    13              e  Lio/netty/resolver/dns/DnsCacheEntry;
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;Lio/netty/resolver/dns/DnsCache;)Z
    MethodParameters:
              Name  Flags
      hostname      
      additionals   
      promise       
      resolveCache  

  static <T> void trySuccess(io.netty.util.concurrent.Promise<T>, );
    descriptor: (Lio/netty/util/concurrent/Promise;Ljava/lang/Object;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.util.concurrent.Promise promise
        start local 1 // java.lang.Object result
         0: .line 725
            aload 0 /* promise */
            aload 1 /* result */
            invokeinterface io.netty.util.concurrent.Promise.trySuccess:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 726
            getstatic io.netty.resolver.dns.DnsNameResolver.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to notify success ({}) to a promise: {}"
            aload 1 /* result */
            aload 0 /* promise */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 728
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object result
        end local 0 // io.netty.util.concurrent.Promise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  promise  Lio/netty/util/concurrent/Promise<TT;>;
            0    3     1   result  TT;
    Signature: <T:Ljava/lang/Object;>(Lio/netty/util/concurrent/Promise<TT;>;TT;)V
    MethodParameters:
         Name  Flags
      promise  
      result   

  private static void tryFailure(io.netty.util.concurrent.Promise<?>, java.lang.Throwable);
    descriptor: (Lio/netty/util/concurrent/Promise;Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.netty.util.concurrent.Promise promise
        start local 1 // java.lang.Throwable cause
         0: .line 731
            aload 0 /* promise */
            aload 1 /* cause */
            invokeinterface io.netty.util.concurrent.Promise.tryFailure:(Ljava/lang/Throwable;)Z
            ifne 2
         1: .line 732
            getstatic io.netty.resolver.dns.DnsNameResolver.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Failed to notify failure to a promise: {}"
            aload 0 /* promise */
            aload 1 /* cause */
            invokeinterface io.netty.util.internal.logging.InternalLogger.warn:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 734
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Throwable cause
        end local 0 // io.netty.util.concurrent.Promise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  promise  Lio/netty/util/concurrent/Promise<*>;
            0    3     1    cause  Ljava/lang/Throwable;
    Signature: (Lio/netty/util/concurrent/Promise<*>;Ljava/lang/Throwable;)V
    MethodParameters:
         Name  Flags
      promise  
      cause    

  private void doResolveUncached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.net.InetAddress>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String hostname
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 740
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
            astore 5 /* allPromise */
        start local 5 // io.netty.util.concurrent.Promise allPromise
         1: .line 741
            aload 0 /* this */
            aload 1 /* hostname */
            aload 2 /* additionals */
            aload 5 /* allPromise */
            aload 4 /* resolveCache */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveAllUncached:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
         2: .line 742
            aload 5 /* allPromise */
            new io.netty.resolver.dns.DnsNameResolver$4
            dup
            aload 0 /* this */
            aload 3 /* promise */
            invokespecial io.netty.resolver.dns.DnsNameResolver$4.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Lio/netty/util/concurrent/Promise;)V
            invokeinterface io.netty.util.concurrent.Promise.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Promise;
            pop
         3: .line 752
            return
        end local 5 // io.netty.util.concurrent.Promise allPromise
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lio/netty/resolver/dns/DnsNameResolver;
            0    4     1      hostname  Ljava/lang/String;
            0    4     2   additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0    4     3       promise  Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;
            0    4     4  resolveCache  Lio/netty/resolver/dns/DnsCache;
            1    4     5    allPromise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/net/InetAddress;>;Lio/netty/resolver/dns/DnsCache;)V
    MethodParameters:
              Name  Flags
      hostname      
      additionals   
      promise       final
      resolveCache  

  protected void doResolveAll(java.lang.String, io.netty.util.concurrent.Promise<java.util.List<java.net.InetAddress>>);
    descriptor: (Ljava/lang/String;Lio/netty/util/concurrent/Promise;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.util.concurrent.Promise promise
         0: .line 756
            aload 0 /* this */
            aload 1 /* inetHost */
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
            aload 2 /* promise */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolveCache:Lio/netty/resolver/dns/DnsCache;
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveAll:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
         1: .line 757
            return
        end local 2 // io.netty.util.concurrent.Promise promise
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    2     1  inetHost  Ljava/lang/String;
            0    2     2   promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;)V
    MethodParameters:
          Name  Flags
      inetHost  
      promise   

  protected void doResolveAll(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.util.List<java.net.InetAddress>>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 767
            aload 1 /* inetHost */
            ifnull 1
            aload 1 /* inetHost */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 3
         1: .line 769
      StackMap locals:
      StackMap stack:
            aload 3 /* promise */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.loopbackAddress:()Ljava/net/InetAddress;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
         2: .line 770
            return
         3: .line 772
      StackMap locals:
      StackMap stack:
            aload 1 /* inetHost */
            invokestatic io.netty.util.NetUtil.createByteArrayFromIpAddressString:(Ljava/lang/String;)[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         4: .line 773
            aload 5 /* bytes */
            ifnull 7
         5: .line 775
            aload 3 /* promise */
            aload 5 /* bytes */
            invokestatic java.net.InetAddress.getByAddress:([B)Ljava/net/InetAddress;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
         6: .line 776
            return
         7: .line 779
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* inetHost */
            invokestatic io.netty.resolver.dns.DnsNameResolver.hostname:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* hostname */
        start local 6 // java.lang.String hostname
         8: .line 781
            aload 0 /* this */
            aload 6 /* hostname */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.resolveHostsFileEntry:(Ljava/lang/String;)Ljava/net/InetAddress;
            astore 7 /* hostsFileEntry */
        start local 7 // java.net.InetAddress hostsFileEntry
         9: .line 782
            aload 7 /* hostsFileEntry */
            ifnull 12
        10: .line 783
            aload 3 /* promise */
            aload 7 /* hostsFileEntry */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            invokeinterface io.netty.util.concurrent.Promise.setSuccess:(Ljava/lang/Object;)Lio/netty/util/concurrent/Promise;
            pop
        11: .line 784
            return
        12: .line 787
      StackMap locals: java.lang.String java.net.InetAddress
      StackMap stack:
            aload 0 /* this */
            aload 6 /* hostname */
            aload 2 /* additionals */
            aload 3 /* promise */
            aload 4 /* resolveCache */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveAllCached:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)Z
            ifne 14
        13: .line 788
            aload 0 /* this */
            aload 6 /* hostname */
            aload 2 /* additionals */
            aload 3 /* promise */
            aload 4 /* resolveCache */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.doResolveAllUncached:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
        14: .line 790
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.net.InetAddress hostsFileEntry
        end local 6 // java.lang.String hostname
        end local 5 // byte[] bytes
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0   15     1        inetHost  Ljava/lang/String;
            0   15     2     additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0   15     3         promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
            0   15     4    resolveCache  Lio/netty/resolver/dns/DnsCache;
            4   15     5           bytes  [B
            8   15     6        hostname  Ljava/lang/String;
            9   15     7  hostsFileEntry  Ljava/net/InetAddress;
    Exceptions:
      throws java.lang.Exception
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;Lio/netty/resolver/dns/DnsCache;)V
    MethodParameters:
              Name  Flags
      inetHost      
      additionals   
      promise       
      resolveCache  

  private boolean doResolveAllCached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.util.List<java.net.InetAddress>>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=15, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String hostname
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 796
            aload 4 /* resolveCache */
            aload 1 /* hostname */
            aload 2 /* additionals */
            invokeinterface io.netty.resolver.dns.DnsCache.get:(Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;)Ljava/util/List;
            astore 5 /* cachedEntries */
        start local 5 // java.util.List cachedEntries
         1: .line 797
            aload 5 /* cachedEntries */
            ifnull 2
            aload 5 /* cachedEntries */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 3
         2: .line 798
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            ireturn
         3: .line 801
      StackMap locals:
      StackMap stack:
            aload 5 /* cachedEntries */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCacheEntry
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.cause:()Ljava/lang/Throwable;
            astore 6 /* cause */
        start local 6 // java.lang.Throwable cause
         4: .line 802
            aload 6 /* cause */
            ifnonnull 24
         5: .line 803
            aconst_null
            astore 7 /* result */
        start local 7 // java.util.List result
         6: .line 804
            aload 5 /* cachedEntries */
            invokeinterface java.util.List.size:()I
            istore 8 /* numEntries */
        start local 8 // int numEntries
         7: .line 805
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.resolvedInternetProtocolFamilies:[Lio/netty/channel/socket/InternetProtocolFamily;
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 19
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable java.util.List int top int int io.netty.channel.socket.InternetProtocolFamily[]
      StackMap stack:
         8: aload 12
            iload 10
            aaload
            astore 9 /* f */
        start local 9 // io.netty.channel.socket.InternetProtocolFamily f
         9: .line 806
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        10: goto 17
        11: .line 807
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable java.util.List int io.netty.channel.socket.InternetProtocolFamily int int io.netty.channel.socket.InternetProtocolFamily[] int
      StackMap stack:
            aload 5 /* cachedEntries */
            iload 13 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsCacheEntry
            astore 14 /* e */
        start local 14 // io.netty.resolver.dns.DnsCacheEntry e
        12: .line 808
            aload 9 /* f */
            invokevirtual io.netty.channel.socket.InternetProtocolFamily.addressType:()Ljava/lang/Class;
            aload 14 /* e */
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.address:()Ljava/net/InetAddress;
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 16
        13: .line 809
            aload 7 /* result */
            ifnonnull 15
        14: .line 810
            new java.util.ArrayList
            dup
            iload 8 /* numEntries */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* result */
        15: .line 812
      StackMap locals: io.netty.resolver.dns.DnsCacheEntry
      StackMap stack:
            aload 7 /* result */
            aload 14 /* e */
            invokeinterface io.netty.resolver.dns.DnsCacheEntry.address:()Ljava/net/InetAddress;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // io.netty.resolver.dns.DnsCacheEntry e
        16: .line 806
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 13 /* i */
            iload 8 /* numEntries */
            if_icmplt 11
        end local 13 // int i
        end local 9 // io.netty.channel.socket.InternetProtocolFamily f
        18: .line 805
            iinc 10 1
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable java.util.List int top int int io.netty.channel.socket.InternetProtocolFamily[]
      StackMap stack:
        19: iload 10
            iload 11
            if_icmplt 8
        20: .line 816
            aload 7 /* result */
            ifnull 23
        21: .line 817
            aload 3 /* promise */
            aload 7 /* result */
            invokestatic io.netty.resolver.dns.DnsNameResolver.trySuccess:(Lio/netty/util/concurrent/Promise;Ljava/lang/Object;)V
        22: .line 818
            iconst_1
            ireturn
        23: .line 820
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.lang.String io.netty.handler.codec.dns.DnsRecord[] io.netty.util.concurrent.Promise io.netty.resolver.dns.DnsCache java.util.List java.lang.Throwable java.util.List int
      StackMap stack:
            iconst_0
            ireturn
        end local 8 // int numEntries
        end local 7 // java.util.List result
        24: .line 822
      StackMap locals:
      StackMap stack:
            aload 3 /* promise */
            aload 6 /* cause */
            invokestatic io.netty.resolver.dns.DnsNameResolver.tryFailure:(Lio/netty/util/concurrent/Promise;Ljava/lang/Throwable;)V
        25: .line 823
            iconst_1
            ireturn
        end local 6 // java.lang.Throwable cause
        end local 5 // java.util.List cachedEntries
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lio/netty/resolver/dns/DnsNameResolver;
            0   26     1       hostname  Ljava/lang/String;
            0   26     2    additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0   26     3        promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
            0   26     4   resolveCache  Lio/netty/resolver/dns/DnsCache;
            1   26     5  cachedEntries  Ljava/util/List<+Lio/netty/resolver/dns/DnsCacheEntry;>;
            4   26     6          cause  Ljava/lang/Throwable;
            6   24     7         result  Ljava/util/List<Ljava/net/InetAddress;>;
            7   24     8     numEntries  I
            9   18     9              f  Lio/netty/channel/socket/InternetProtocolFamily;
           10   18    13              i  I
           12   16    14              e  Lio/netty/resolver/dns/DnsCacheEntry;
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;Lio/netty/resolver/dns/DnsCache;)Z
    MethodParameters:
              Name  Flags
      hostname      
      additionals   
      promise       
      resolveCache  

  private void doResolveAllUncached(java.lang.String, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<java.util.List<java.net.InetAddress>>, io.netty.resolver.dns.DnsCache);
    descriptor: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;Lio/netty/resolver/dns/DnsCache;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.lang.String hostname
        start local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 3 // io.netty.util.concurrent.Promise promise
        start local 4 // io.netty.resolver.dns.DnsCache resolveCache
         0: .line 832
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.dnsServerAddressStreamProvider:Lio/netty/resolver/dns/DnsServerAddressStreamProvider;
            aload 1 /* hostname */
            invokeinterface io.netty.resolver.dns.DnsServerAddressStreamProvider.nameServerAddressStream:(Ljava/lang/String;)Lio/netty/resolver/dns/DnsServerAddressStream;
         1: .line 831
            astore 5 /* nameServerAddrs */
        start local 5 // io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs
         2: .line 833
            new io.netty.resolver.dns.DnsAddressResolveContext
            dup
            aload 0 /* this */
            aload 1 /* hostname */
            aload 2 /* additionals */
            aload 5 /* nameServerAddrs */
            aload 4 /* resolveCache */
            invokespecial io.netty.resolver.dns.DnsAddressResolveContext.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/resolver/dns/DnsServerAddressStream;Lio/netty/resolver/dns/DnsCache;)V
            aload 3 /* promise */
            invokevirtual io.netty.resolver.dns.DnsAddressResolveContext.resolve:(Lio/netty/util/concurrent/Promise;)V
         3: .line 834
            return
        end local 5 // io.netty.resolver.dns.DnsServerAddressStream nameServerAddrs
        end local 4 // io.netty.resolver.dns.DnsCache resolveCache
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 1 // java.lang.String hostname
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Lio/netty/resolver/dns/DnsNameResolver;
            0    4     1         hostname  Ljava/lang/String;
            0    4     2      additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0    4     3          promise  Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;
            0    4     4     resolveCache  Lio/netty/resolver/dns/DnsCache;
            2    4     5  nameServerAddrs  Lio/netty/resolver/dns/DnsServerAddressStream;
    Signature: (Ljava/lang/String;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Ljava/util/List<Ljava/net/InetAddress;>;>;Lio/netty/resolver/dns/DnsCache;)V
    MethodParameters:
              Name  Flags
      hostname      
      additionals   
      promise       
      resolveCache  

  private static java.lang.String hostname(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String inetHost
         0: .line 837
            aload 0 /* inetHost */
            invokestatic java.net.IDN.toASCII:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* hostname */
        start local 1 // java.lang.String hostname
         1: .line 839
            aload 0 /* inetHost */
            bipush 46
            invokestatic io.netty.util.internal.StringUtil.endsWith:(Ljava/lang/CharSequence;C)Z
            ifeq 3
            aload 1 /* hostname */
            bipush 46
            invokestatic io.netty.util.internal.StringUtil.endsWith:(Ljava/lang/CharSequence;C)Z
            ifne 3
         2: .line 840
            new java.lang.StringBuilder
            dup
            aload 1 /* hostname */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* hostname */
         3: .line 842
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* hostname */
            areturn
        end local 1 // java.lang.String hostname
        end local 0 // java.lang.String inetHost
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  inetHost  Ljava/lang/String;
            1    4     1  hostname  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      inetHost  

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(io.netty.handler.codec.dns.DnsQuestion);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
         0: .line 849
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.nextNameServerAddress:()Ljava/net/InetSocketAddress;
            aload 1 /* question */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future;
            areturn
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  question  Lio/netty/handler/codec/dns/DnsQuestion;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
          Name  Flags
      question  

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
        start local 2 // java.lang.Iterable additionals
         0: .line 857
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.nextNameServerAddress:()Ljava/net/InetSocketAddress;
            aload 1 /* question */
            aload 2 /* additionals */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // java.lang.Iterable additionals
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1     question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     2  additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
             Name  Flags
      question     
      additionals  

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(io.netty.handler.codec.dns.DnsQuestion, io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<? extends io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>>);
    descriptor: (Lio/netty/handler/codec/dns/DnsQuestion;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // io.netty.handler.codec.dns.DnsQuestion question
        start local 2 // io.netty.util.concurrent.Promise promise
         0: .line 865
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.nextNameServerAddress:()Ljava/net/InetSocketAddress;
            aload 1 /* question */
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
            aload 2 /* promise */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // io.netty.util.concurrent.Promise promise
        end local 1 // io.netty.handler.codec.dns.DnsQuestion question
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     2   promise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    Signature: (Lio/netty/handler/codec/dns/DnsQuestion;Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
          Name  Flags
      question  
      promise   

  private java.net.InetSocketAddress nextNameServerAddress();
    descriptor: ()Ljava/net/InetSocketAddress;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
         0: .line 869
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.nameServerAddrStream:Lio/netty/util/concurrent/FastThreadLocal;
            invokevirtual io.netty.util.concurrent.FastThreadLocal.get:()Ljava/lang/Object;
            checkcast io.netty.resolver.dns.DnsServerAddressStream
            invokeinterface io.netty.resolver.dns.DnsServerAddressStream.next:()Ljava/net/InetSocketAddress;
            areturn
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/resolver/dns/DnsNameResolver;

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
         0: .line 878
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
         1: .line 879
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.eventLoop:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
         2: .line 878
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query0:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    3     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    3     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
        start local 3 // java.lang.Iterable additionals
         0: .line 888
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            aload 3 /* additionals */
            iconst_0
            invokestatic io.netty.resolver.dns.DnsNameResolver.toArray:(Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
         1: .line 889
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.eventLoop:()Lio/netty/channel/EventLoop;
            invokeinterface io.netty.channel.EventLoop.newPromise:()Lio/netty/util/concurrent/Promise;
         2: .line 888
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query0:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 3 // java.lang.Iterable additionals
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    3     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    3     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    3     3     additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        
      additionals     

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<? extends io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>>);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
        start local 3 // io.netty.util.concurrent.Promise promise
         0: .line 899
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            getstatic io.netty.resolver.dns.DnsNameResolver.EMPTY_ADDITIONALS:[Lio/netty/handler/codec/dns/DnsRecord;
            aload 3 /* promise */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query0:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 3 // io.netty.util.concurrent.Promise promise
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    1     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     3         promise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        
      promise         

  public io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, java.lang.Iterable<io.netty.handler.codec.dns.DnsRecord>, io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<? extends io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>>);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
        start local 3 // java.lang.Iterable additionals
        start local 4 // io.netty.util.concurrent.Promise promise
         0: .line 910
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            aload 3 /* additionals */
            iconst_0
            invokestatic io.netty.resolver.dns.DnsNameResolver.toArray:(Ljava/lang/Iterable;Z)[Lio/netty/handler/codec/dns/DnsRecord;
            aload 4 /* promise */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query0:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 4 // io.netty.util.concurrent.Promise promise
        end local 3 // java.lang.Iterable additionals
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    1     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     3     additionals  Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;
            0    1     4         promise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;Ljava/lang/Iterable<Lio/netty/handler/codec/dns/DnsRecord;>;Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        
      additionals     
      promise         

  public static boolean isTransportOrTimeoutError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 919
            aload 0 /* cause */
            ifnull 1
            aload 0 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            instanceof io.netty.resolver.dns.DnsNameResolverException
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  public static boolean isTimeoutError(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Throwable cause
         0: .line 928
            aload 0 /* cause */
            ifnull 1
            aload 0 /* cause */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            instanceof io.netty.resolver.dns.DnsNameResolverTimeoutException
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Throwable cause
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      cause  

  final io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query0(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, io.netty.handler.codec.dns.DnsRecord[], io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<? extends io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>>);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
        start local 3 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 4 // io.netty.util.concurrent.Promise promise
         0: .line 935
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            aload 3 /* additionals */
            aload 0 /* this */
            getfield io.netty.resolver.dns.DnsNameResolver.ch:Lio/netty/channel/socket/DatagramChannel;
            invokeinterface io.netty.channel.socket.DatagramChannel.newPromise:()Lio/netty/channel/ChannelPromise;
            aload 4 /* promise */
            invokevirtual io.netty.resolver.dns.DnsNameResolver.query0:(Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/channel/ChannelPromise;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
            areturn
        end local 4 // io.netty.util.concurrent.Promise promise
        end local 3 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    1     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    1     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    1     3     additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0    1     4         promise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        
      additionals     
      promise         

  final io.netty.util.concurrent.Future<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> query0(java.net.InetSocketAddress, io.netty.handler.codec.dns.DnsQuestion, io.netty.handler.codec.dns.DnsRecord[], io.netty.channel.ChannelPromise, io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<? extends io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>>);
    descriptor: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/channel/ChannelPromise;Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Future;
    flags: (0x0010) ACC_FINAL
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // io.netty.resolver.dns.DnsNameResolver this
        start local 1 // java.net.InetSocketAddress nameServerAddr
        start local 2 // io.netty.handler.codec.dns.DnsQuestion question
        start local 3 // io.netty.handler.codec.dns.DnsRecord[] additionals
        start local 4 // io.netty.channel.ChannelPromise writePromise
        start local 5 // io.netty.util.concurrent.Promise promise
         0: .line 943
            getstatic io.netty.resolver.dns.DnsNameResolver.$assertionsDisabled:Z
            ifne 1
            aload 4 /* writePromise */
            invokeinterface io.netty.channel.ChannelPromise.isVoid:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 946
      StackMap locals:
      StackMap stack:
            aload 5 /* promise */
            ldc "promise"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast io.netty.util.concurrent.Promise
         2: .line 945
            invokestatic io.netty.resolver.dns.DnsNameResolver.cast:(Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Promise;
            astore 6 /* castPromise */
        start local 6 // io.netty.util.concurrent.Promise castPromise
         3: .line 948
            new io.netty.resolver.dns.DnsQueryContext
            dup
            aload 0 /* this */
            aload 1 /* nameServerAddr */
            aload 2 /* question */
            aload 3 /* additionals */
            aload 6 /* castPromise */
            invokespecial io.netty.resolver.dns.DnsQueryContext.<init>:(Lio/netty/resolver/dns/DnsNameResolver;Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/util/concurrent/Promise;)V
            aload 4 /* writePromise */
            invokevirtual io.netty.resolver.dns.DnsQueryContext.query:(Lio/netty/channel/ChannelPromise;)V
         4: .line 949
            aload 6 /* castPromise */
         5: areturn
         6: .line 950
      StackMap locals: io.netty.resolver.dns.DnsNameResolver java.net.InetSocketAddress io.netty.handler.codec.dns.DnsQuestion io.netty.handler.codec.dns.DnsRecord[] io.netty.channel.ChannelPromise io.netty.util.concurrent.Promise io.netty.util.concurrent.Promise
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
         7: .line 951
            aload 6 /* castPromise */
            aload 7 /* e */
            invokeinterface io.netty.util.concurrent.Promise.setFailure:(Ljava/lang/Throwable;)Lio/netty/util/concurrent/Promise;
            areturn
        end local 7 // java.lang.Exception e
        end local 6 // io.netty.util.concurrent.Promise castPromise
        end local 5 // io.netty.util.concurrent.Promise promise
        end local 4 // io.netty.channel.ChannelPromise writePromise
        end local 3 // io.netty.handler.codec.dns.DnsRecord[] additionals
        end local 2 // io.netty.handler.codec.dns.DnsQuestion question
        end local 1 // java.net.InetSocketAddress nameServerAddr
        end local 0 // io.netty.resolver.dns.DnsNameResolver this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lio/netty/resolver/dns/DnsNameResolver;
            0    8     1  nameServerAddr  Ljava/net/InetSocketAddress;
            0    8     2        question  Lio/netty/handler/codec/dns/DnsQuestion;
            0    8     3     additionals  [Lio/netty/handler/codec/dns/DnsRecord;
            0    8     4    writePromise  Lio/netty/channel/ChannelPromise;
            0    8     5         promise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
            3    8     6     castPromise  Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
            7    8     7               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
    Signature: (Ljava/net/InetSocketAddress;Lio/netty/handler/codec/dns/DnsQuestion;[Lio/netty/handler/codec/dns/DnsRecord;Lio/netty/channel/ChannelPromise;Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<+Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;)Lio/netty/util/concurrent/Future<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
                Name  Flags
      nameServerAddr  
      question        
      additionals     
      writePromise    
      promise         

  private static io.netty.util.concurrent.Promise<io.netty.channel.AddressedEnvelope<io.netty.handler.codec.dns.DnsResponse, java.net.InetSocketAddress>> cast(io.netty.util.concurrent.Promise<?>);
    descriptor: (Lio/netty/util/concurrent/Promise;)Lio/netty/util/concurrent/Promise;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.concurrent.Promise promise
         0: .line 957
            aload 0 /* promise */
            areturn
        end local 0 // io.netty.util.concurrent.Promise promise
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  promise  Lio/netty/util/concurrent/Promise<*>;
    Signature: (Lio/netty/util/concurrent/Promise<*>;)Lio/netty/util/concurrent/Promise<Lio/netty/channel/AddressedEnvelope<Lio/netty/handler/codec/dns/DnsResponse;Ljava/net/InetSocketAddress;>;>;
    MethodParameters:
         Name  Flags
      promise  

  protected io.netty.util.concurrent.EventExecutor executor();
    descriptor: ()Lio/netty/util/concurrent/EventExecutor;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual io.netty.resolver.dns.DnsNameResolver.executor:()Lio/netty/channel/EventLoop;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$io$netty$resolver$ResolvedAddressTypes();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 82
            getstatic io.netty.resolver.dns.DnsNameResolver.$SWITCH_TABLE$io$netty$resolver$ResolvedAddressTypes:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic io.netty.resolver.ResolvedAddressTypes.values:()[Lio/netty/resolver/ResolvedAddressTypes;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV4_ONLY:Lio/netty/resolver/ResolvedAddressTypes;
            invokevirtual io.netty.resolver.ResolvedAddressTypes.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV4_PREFERRED:Lio/netty/resolver/ResolvedAddressTypes;
            invokevirtual io.netty.resolver.ResolvedAddressTypes.ordinal:()I
            iconst_3
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV6_ONLY:Lio/netty/resolver/ResolvedAddressTypes;
            invokevirtual io.netty.resolver.ResolvedAddressTypes.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic io.netty.resolver.ResolvedAddressTypes.IPV6_PREFERRED:Lio/netty/resolver/ResolvedAddressTypes;
            invokevirtual io.netty.resolver.ResolvedAddressTypes.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic io.netty.resolver.dns.DnsNameResolver.$SWITCH_TABLE$io$netty$resolver$ResolvedAddressTypes:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "DnsNameResolver.java"
NestMembers:
  io.netty.resolver.dns.DnsNameResolver$1  io.netty.resolver.dns.DnsNameResolver$2  io.netty.resolver.dns.DnsNameResolver$3  io.netty.resolver.dns.DnsNameResolver$4  io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler
InnerClasses:
  io.netty.resolver.dns.DnsNameResolver$1
  io.netty.resolver.dns.DnsNameResolver$2
  io.netty.resolver.dns.DnsNameResolver$3
  io.netty.resolver.dns.DnsNameResolver$4
  private final DnsResponseHandler = io.netty.resolver.dns.DnsNameResolver$DnsResponseHandler of io.netty.resolver.dns.DnsNameResolver