final class io.netty.handler.ssl.Java9SslEngine$AlpnSelector implements java.util.function.BiFunction<javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: io.netty.handler.ssl.Java9SslEngine$AlpnSelector
  super_class: java.lang.Object
{
  private final io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector selector;
    descriptor: Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean called;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  final io.netty.handler.ssl.Java9SslEngine this$0;
    descriptor: Lio/netty/handler/ssl/Java9SslEngine;
    flags: (0x1010) ACC_FINAL, 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=1, locals=0, args_size=0
         0: .line 37
            ldc Lio/netty/handler/ssl/Java9SslEngine;
            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.handler.ssl.Java9SslEngine$AlpnSelector.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(io.netty.handler.ssl.Java9SslEngine, io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector);
    descriptor: (Lio/netty/handler/ssl/Java9SslEngine;Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
        start local 2 // io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector selector
         0: .line 41
            aload 0 /* this */
            aload 1
            putfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.this$0:Lio/netty/handler/ssl/Java9SslEngine;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            aload 2 /* selector */
            putfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.selector:Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;
         2: .line 43
            return
        end local 2 // io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector selector
        end local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lio/netty/handler/ssl/Java9SslEngine$AlpnSelector;
            0    3     2  selector  Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;
    MethodParameters:
          Name  Flags
      this$0    final
      selector  

  public java.lang.String apply(javax.net.ssl.SSLEngine, java.util.List<java.lang.String>);
    descriptor: (Ljavax/net/ssl/SSLEngine;Ljava/util/List;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
        start local 1 // javax.net.ssl.SSLEngine sslEngine
        start local 2 // java.util.List strings
         0: .line 47
            getstatic io.netty.handler.ssl.Java9SslEngine$AlpnSelector.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.called:Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 48
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.called:Z
         2: .line 51
            aload 0 /* this */
            getfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.selector:Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;
            aload 2 /* strings */
            invokeinterface io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector.select:(Ljava/util/List;)Ljava/lang/String;
            astore 3 /* selected */
        start local 3 // java.lang.String selected
         3: .line 52
            aload 3 /* selected */
            ifnonnull 4
            ldc ""
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 3 /* selected */
      StackMap locals:
      StackMap stack: java.lang.String
         5: areturn
        end local 3 // java.lang.String selected
         6: .line 53
      StackMap locals: io.netty.handler.ssl.Java9SslEngine$AlpnSelector javax.net.ssl.SSLEngine java.util.List
      StackMap stack: java.lang.Exception
            pop
         7: .line 58
            aconst_null
            areturn
        end local 2 // java.util.List strings
        end local 1 // javax.net.ssl.SSLEngine sslEngine
        end local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/netty/handler/ssl/Java9SslEngine$AlpnSelector;
            0    8     1  sslEngine  Ljavax/net/ssl/SSLEngine;
            0    8     2    strings  Ljava/util/List<Ljava/lang/String;>;
            3    6     3   selected  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     5       6  Class java.lang.Exception
    Signature: (Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;)Ljava/lang/String;
    MethodParameters:
           Name  Flags
      sslEngine  
      strings    

  void checkUnsupported();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
         0: .line 63
            aload 0 /* this */
            getfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.called:Z
            ifeq 2
         1: .line 68
            return
         2: .line 70
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.this$0:Lio/netty/handler/ssl/Java9SslEngine;
            invokevirtual io.netty.handler.ssl.Java9SslEngine.getApplicationProtocol:()Ljava/lang/String;
            astore 1 /* protocol */
        start local 1 // java.lang.String protocol
         3: .line 71
            getstatic io.netty.handler.ssl.Java9SslEngine$AlpnSelector.$assertionsDisabled:Z
            ifne 4
            aload 1 /* protocol */
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 73
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* protocol */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 6
         5: .line 75
            aload 0 /* this */
            getfield io.netty.handler.ssl.Java9SslEngine$AlpnSelector.selector:Lio/netty/handler/ssl/JdkApplicationProtocolNegotiator$ProtocolSelector;
            invokeinterface io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector.unsupported:()V
         6: .line 77
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String protocol
        end local 0 // io.netty.handler.ssl.Java9SslEngine$AlpnSelector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/netty/handler/ssl/Java9SslEngine$AlpnSelector;
            3    7     1  protocol  Ljava/lang/String;

  public java.lang.Object apply(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast javax.net.ssl.SSLEngine
            aload 2
            checkcast java.util.List
            invokevirtual io.netty.handler.ssl.Java9SslEngine$AlpnSelector.apply:(Ljavax/net/ssl/SSLEngine;Ljava/util/List;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/function/BiFunction<Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;>;
SourceFile: "Java9SslEngine.java"
NestHost: io.netty.handler.ssl.Java9SslEngine
InnerClasses:
  private final AlpnSelector = io.netty.handler.ssl.Java9SslEngine$AlpnSelector of io.netty.handler.ssl.Java9SslEngine
  public abstract ProtocolSelector = io.netty.handler.ssl.JdkApplicationProtocolNegotiator$ProtocolSelector of io.netty.handler.ssl.JdkApplicationProtocolNegotiator