final class io.netty.handler.ssl.ApplicationProtocolUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.ssl.ApplicationProtocolUtil
  super_class: java.lang.Object
{
  private static final int DEFAULT_LIST_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.ssl.ApplicationProtocolUtil this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 28
            return
        end local 0 // io.netty.handler.ssl.ApplicationProtocolUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/ssl/ApplicationProtocolUtil;

  static java.util.List<java.lang.String> toList(java.lang.Iterable<java.lang.String>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Iterable protocols
         0: .line 31
            iconst_2
            aload 0 /* protocols */
            invokestatic io.netty.handler.ssl.ApplicationProtocolUtil.toList:(ILjava/lang/Iterable;)Ljava/util/List;
            areturn
        end local 0 // java.lang.Iterable protocols
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  protocols  Ljava/lang/Iterable<Ljava/lang/String;>;
    Signature: (Ljava/lang/Iterable<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      protocols  

  static java.util.List<java.lang.String> toList(int, java.lang.Iterable<java.lang.String>);
    descriptor: (ILjava/lang/Iterable;)Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // int initialListSize
        start local 1 // java.lang.Iterable protocols
         0: .line 35
            aload 1 /* protocols */
            ifnonnull 2
         1: .line 36
            aconst_null
            areturn
         2: .line 39
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 0 /* initialListSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.List result
         3: .line 40
            aload 1 /* protocols */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: int java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* p */
        start local 3 // java.lang.String p
         5: .line 41
            aload 3 /* p */
            ifnull 6
            aload 3 /* p */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         6: .line 42
      StackMap locals: int java.lang.Iterable java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "protocol cannot be null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 44
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 3 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String p
         8: .line 40
      StackMap locals: int java.lang.Iterable java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         9: .line 47
            aload 2 /* result */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 11
        10: .line 48
            new java.lang.IllegalArgumentException
            dup
            ldc "protocols cannot empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 51
      StackMap locals: int java.lang.Iterable java.util.List
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.Iterable protocols
        end local 0 // int initialListSize
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   12     0  initialListSize  I
            0   12     1        protocols  Ljava/lang/Iterable<Ljava/lang/String;>;
            3   12     2           result  Ljava/util/List<Ljava/lang/String;>;
            5    8     3                p  Ljava/lang/String;
    Signature: (ILjava/lang/Iterable<Ljava/lang/String;>;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      initialListSize  
      protocols        

  static java.util.List<java.lang.String> toList(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)Ljava/util/List;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String[] protocols
         0: .line 55
            iconst_2
            aload 0 /* protocols */
            invokestatic io.netty.handler.ssl.ApplicationProtocolUtil.toList:(I[Ljava/lang/String;)Ljava/util/List;
            areturn
        end local 0 // java.lang.String[] protocols
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  protocols  [Ljava/lang/String;
    Signature: ([Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      protocols  

  static java.util.List<java.lang.String> toList(int, java.lang.String[]);
    descriptor: (I[Ljava/lang/String;)Ljava/util/List;
    flags: (0x0088) ACC_STATIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // int initialListSize
        start local 1 // java.lang.String[] protocols
         0: .line 59
            aload 1 /* protocols */
            ifnonnull 2
         1: .line 60
            aconst_null
            areturn
         2: .line 63
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            iload 0 /* initialListSize */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* result */
        start local 2 // java.util.List result
         3: .line 64
            aload 1 /* protocols */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: int java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         4: aload 6
            iload 4
            aaload
            astore 3 /* p */
        start local 3 // java.lang.String p
         5: .line 65
            aload 3 /* p */
            ifnull 6
            aload 3 /* p */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 7
         6: .line 66
      StackMap locals: int java.lang.String[] java.util.List java.lang.String int int java.lang.String[]
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "protocol cannot be null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 68
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            aload 3 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String p
         8: .line 64
            iinc 4 1
      StackMap locals: int java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 4
        10: .line 71
            aload 2 /* result */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 12
        11: .line 72
            new java.lang.IllegalArgumentException
            dup
            ldc "protocols cannot empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 75
      StackMap locals: int java.lang.String[] java.util.List
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // java.util.List result
        end local 1 // java.lang.String[] protocols
        end local 0 // int initialListSize
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0  initialListSize  I
            0   13     1        protocols  [Ljava/lang/String;
            3   13     2           result  Ljava/util/List<Ljava/lang/String;>;
            5    8     3                p  Ljava/lang/String;
    Signature: (I[Ljava/lang/String;)Ljava/util/List<Ljava/lang/String;>;
    MethodParameters:
                 Name  Flags
      initialListSize  
      protocols        
}
SourceFile: "ApplicationProtocolUtil.java"