public class io.netty.resolver.RoundRobinInetAddressResolver extends io.netty.resolver.InetNameResolver
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.resolver.RoundRobinInetAddressResolver
  super_class: io.netty.resolver.InetNameResolver
{
  private final io.netty.resolver.NameResolver<java.net.InetAddress> nameResolver;
    descriptor: Lio/netty/resolver/NameResolver;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lio/netty/resolver/NameResolver<Ljava/net/InetAddress;>;

  public void <init>(io.netty.util.concurrent.EventExecutor, io.netty.resolver.NameResolver<java.net.InetAddress>);
    descriptor: (Lio/netty/util/concurrent/EventExecutor;Lio/netty/resolver/NameResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.resolver.RoundRobinInetAddressResolver this
        start local 1 // io.netty.util.concurrent.EventExecutor executor
        start local 2 // io.netty.resolver.NameResolver nameResolver
         0: .line 48
            aload 0 /* this */
            aload 1 /* executor */
            invokespecial io.netty.resolver.InetNameResolver.<init>:(Lio/netty/util/concurrent/EventExecutor;)V
         1: .line 49
            aload 0 /* this */
            aload 2 /* nameResolver */
            putfield io.netty.resolver.RoundRobinInetAddressResolver.nameResolver:Lio/netty/resolver/NameResolver;
         2: .line 50
            return
        end local 2 // io.netty.resolver.NameResolver nameResolver
        end local 1 // io.netty.util.concurrent.EventExecutor executor
        end local 0 // io.netty.resolver.RoundRobinInetAddressResolver this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lio/netty/resolver/RoundRobinInetAddressResolver;
            0    3     1      executor  Lio/netty/util/concurrent/EventExecutor;
            0    3     2  nameResolver  Lio/netty/resolver/NameResolver<Ljava/net/InetAddress;>;
    Signature: (Lio/netty/util/concurrent/EventExecutor;Lio/netty/resolver/NameResolver<Ljava/net/InetAddress;>;)V
    MethodParameters:
              Name  Flags
      executor      
      nameResolver  

  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=6, locals=3, args_size=3
        start local 0 // io.netty.resolver.RoundRobinInetAddressResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.util.concurrent.Promise promise
         0: .line 57
            aload 0 /* this */
            getfield io.netty.resolver.RoundRobinInetAddressResolver.nameResolver:Lio/netty/resolver/NameResolver;
            aload 1 /* inetHost */
            invokeinterface io.netty.resolver.NameResolver.resolveAll:(Ljava/lang/String;)Lio/netty/util/concurrent/Future;
            new io.netty.resolver.RoundRobinInetAddressResolver$1
            dup
            aload 0 /* this */
            aload 2 /* promise */
            aload 1 /* inetHost */
            invokespecial io.netty.resolver.RoundRobinInetAddressResolver$1.<init>:(Lio/netty/resolver/RoundRobinInetAddressResolver;Lio/netty/util/concurrent/Promise;Ljava/lang/String;)V
            invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
            pop
         1: .line 75
            return
        end local 2 // io.netty.util.concurrent.Promise promise
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.RoundRobinInetAddressResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/resolver/RoundRobinInetAddressResolver;
            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  final
      promise   final

  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.RoundRobinInetAddressResolver this
        start local 1 // java.lang.String inetHost
        start local 2 // io.netty.util.concurrent.Promise promise
         0: .line 79
            aload 0 /* this */
            getfield io.netty.resolver.RoundRobinInetAddressResolver.nameResolver:Lio/netty/resolver/NameResolver;
            aload 1 /* inetHost */
            invokeinterface io.netty.resolver.NameResolver.resolveAll:(Ljava/lang/String;)Lio/netty/util/concurrent/Future;
            new io.netty.resolver.RoundRobinInetAddressResolver$2
            dup
            aload 0 /* this */
            aload 2 /* promise */
            invokespecial io.netty.resolver.RoundRobinInetAddressResolver$2.<init>:(Lio/netty/resolver/RoundRobinInetAddressResolver;Lio/netty/util/concurrent/Promise;)V
            invokeinterface io.netty.util.concurrent.Future.addListener:(Lio/netty/util/concurrent/GenericFutureListener;)Lio/netty/util/concurrent/Future;
            pop
         1: .line 98
            return
        end local 2 // io.netty.util.concurrent.Promise promise
        end local 1 // java.lang.String inetHost
        end local 0 // io.netty.resolver.RoundRobinInetAddressResolver this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/netty/resolver/RoundRobinInetAddressResolver;
            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   final

  private static int randomIndex(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int numAddresses
         0: .line 101
            iload 0 /* numAddresses */
            iconst_1
            if_icmpne 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: invokestatic io.netty.util.internal.PlatformDependent.threadLocalRandom:()Ljava/util/Random;
            iload 0 /* numAddresses */
            invokevirtual java.util.Random.nextInt:(I)I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int numAddresses
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0  numAddresses  I
    MethodParameters:
              Name  Flags
      numAddresses  
}
SourceFile: "RoundRobinInetAddressResolver.java"
NestMembers:
  io.netty.resolver.RoundRobinInetAddressResolver$1  io.netty.resolver.RoundRobinInetAddressResolver$2
InnerClasses:
  io.netty.resolver.RoundRobinInetAddressResolver$1
  io.netty.resolver.RoundRobinInetAddressResolver$2