public abstract class org.eclipse.jetty.server.NegotiatingServerConnectionFactory extends org.eclipse.jetty.server.AbstractConnectionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jetty.server.NegotiatingServerConnectionFactory
  super_class: org.eclipse.jetty.server.AbstractConnectionFactory
{
  private final java.util.List<java.lang.String> negotiatedProtocols;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.lang.String defaultProtocol;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;[Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
        start local 1 // java.lang.String protocol
        start local 2 // java.lang.String[] negotiatedProtocols
         0: .line 39
            aload 0 /* this */
            aload 1 /* protocol */
            invokespecial org.eclipse.jetty.server.AbstractConnectionFactory.<init>:(Ljava/lang/String;)V
         1: .line 40
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.negotiatedProtocols:Ljava/util/List;
         2: .line 41
            aload 2 /* negotiatedProtocols */
            ifnull 10
         3: .line 44
            aload 2 /* negotiatedProtocols */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: org.eclipse.jetty.server.NegotiatingServerConnectionFactory java.lang.String java.lang.String[] 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 46
            aload 3 /* p */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 3 /* p */
         6: .line 47
            aload 3 /* p */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 8
         7: .line 48
            aload 0 /* this */
            getfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.negotiatedProtocols:Ljava/util/List;
            aload 3 /* p */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String p
         8: .line 44
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 4
        10: .line 51
      StackMap locals: org.eclipse.jetty.server.NegotiatingServerConnectionFactory java.lang.String java.lang.String[]
      StackMap stack:
            return
        end local 2 // java.lang.String[] negotiatedProtocols
        end local 1 // java.lang.String protocol
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;
            0   11     1             protocol  Ljava/lang/String;
            0   11     2  negotiatedProtocols  [Ljava/lang/String;
            5    8     3                    p  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      protocol             
      negotiatedProtocols  

  public java.lang.String getDefaultProtocol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
         0: .line 55
            aload 0 /* this */
            getfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.defaultProtocol:Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;

  public void setDefaultProtocol(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
        start local 1 // java.lang.String defaultProtocol
         0: .line 61
            aload 1 /* defaultProtocol */
            ifnonnull 1
            ldc ""
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* defaultProtocol */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* dft */
        start local 2 // java.lang.String dft
         3: .line 62
            aload 0 /* this */
            aload 2 /* dft */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 4
            aconst_null
            goto 5
      StackMap locals: org.eclipse.jetty.server.NegotiatingServerConnectionFactory java.lang.String java.lang.String
      StackMap stack: org.eclipse.jetty.server.NegotiatingServerConnectionFactory
         4: aload 2 /* dft */
      StackMap locals: org.eclipse.jetty.server.NegotiatingServerConnectionFactory java.lang.String java.lang.String
      StackMap stack: org.eclipse.jetty.server.NegotiatingServerConnectionFactory java.lang.String
         5: putfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.defaultProtocol:Ljava/lang/String;
         6: .line 63
            return
        end local 2 // java.lang.String dft
        end local 1 // java.lang.String defaultProtocol
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;
            0    7     1  defaultProtocol  Ljava/lang/String;
            3    7     2              dft  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      defaultProtocol  

  public java.util.List<java.lang.String> getNegotiatedProtocols();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
         0: .line 67
            aload 0 /* this */
            getfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.negotiatedProtocols:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public org.eclipse.jetty.io.Connection newConnection(org.eclipse.jetty.server.Connector, org.eclipse.jetty.io.EndPoint);
    descriptor: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/Connection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
        start local 1 // org.eclipse.jetty.server.Connector connector
        start local 2 // org.eclipse.jetty.io.EndPoint endPoint
         0: .line 73
            aload 0 /* this */
            getfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.negotiatedProtocols:Ljava/util/List;
            astore 3 /* negotiated */
        start local 3 // java.util.List negotiated
         1: .line 74
            aload 3 /* negotiated */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 6
         2: .line 77
            aload 1 /* connector */
            invokeinterface org.eclipse.jetty.server.Connector.getProtocols:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         3: .line 78
            aload 1 /* connector */
            invokedynamic test(Lorg/eclipse/jetty/server/Connector;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jetty/server/NegotiatingServerConnectionFactory.lambda$0(Lorg/eclipse/jetty/server/Connector;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
         4: .line 83
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         5: .line 77
            astore 3 /* negotiated */
         6: .line 88
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.NegotiatingServerConnectionFactory.defaultProtocol:Ljava/lang/String;
            astore 4 /* dft */
        start local 4 // java.lang.String dft
         7: .line 89
            aload 4 /* dft */
            ifnonnull 13
            aload 3 /* negotiated */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 13
         8: .line 91
            aload 3 /* negotiated */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         9: .line 92
            getstatic org.eclipse.jetty.http.HttpVersion.HTTP_1_1:Lorg/eclipse/jetty/http/HttpVersion;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lorg/eclipse/jetty/http/HttpVersion;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jetty/http/HttpVersion.is(Ljava/lang/String;)Z (5)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        10: .line 93
            invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
        11: .line 94
            aload 3 /* negotiated */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.util.Optional.orElse:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
        12: .line 91
            astore 4 /* dft */
        13: .line 97
      StackMap locals: java.lang.String
      StackMap stack:
            aconst_null
            astore 6 /* engine */
        start local 6 // javax.net.ssl.SSLEngine engine
        14: .line 98
            aload 2 /* endPoint */
            astore 7 /* ep */
        start local 7 // org.eclipse.jetty.io.EndPoint ep
        15: .line 99
            goto 19
        16: .line 102
      StackMap locals: org.eclipse.jetty.server.NegotiatingServerConnectionFactory org.eclipse.jetty.server.Connector org.eclipse.jetty.io.EndPoint java.util.List java.lang.String top javax.net.ssl.SSLEngine org.eclipse.jetty.io.EndPoint
      StackMap stack:
            aload 7 /* ep */
            instanceof org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint
            ifeq 18
        17: .line 103
            aload 7 /* ep */
            checkcast org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint
            invokevirtual org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint.getSslConnection:()Lorg/eclipse/jetty/io/ssl/SslConnection;
            invokevirtual org.eclipse.jetty.io.ssl.SslConnection.getSSLEngine:()Ljavax/net/ssl/SSLEngine;
            astore 6 /* engine */
            goto 19
        18: .line 105
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* ep */
        19: .line 99
      StackMap locals:
      StackMap stack:
            aload 6 /* engine */
            ifnonnull 20
            aload 7 /* ep */
            ifnonnull 16
        20: .line 108
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* connector */
            aload 2 /* endPoint */
            aload 6 /* engine */
            aload 3 /* negotiated */
            aload 4 /* dft */
            invokevirtual org.eclipse.jetty.server.NegotiatingServerConnectionFactory.newServerConnection:(Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljavax/net/ssl/SSLEngine;Ljava/util/List;Ljava/lang/String;)Lorg/eclipse/jetty/io/AbstractConnection;
            aload 1 /* connector */
            aload 2 /* endPoint */
            invokevirtual org.eclipse.jetty.server.NegotiatingServerConnectionFactory.configure:(Lorg/eclipse/jetty/io/AbstractConnection;Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/AbstractConnection;
            areturn
        end local 7 // org.eclipse.jetty.io.EndPoint ep
        end local 6 // javax.net.ssl.SSLEngine engine
        end local 4 // java.lang.String dft
        end local 3 // java.util.List negotiated
        end local 2 // org.eclipse.jetty.io.EndPoint endPoint
        end local 1 // org.eclipse.jetty.server.Connector connector
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;
            0   21     1   connector  Lorg/eclipse/jetty/server/Connector;
            0   21     2    endPoint  Lorg/eclipse/jetty/io/EndPoint;
            1   21     3  negotiated  Ljava/util/List<Ljava/lang/String;>;
            7   21     4         dft  Ljava/lang/String;
           14   21     6      engine  Ljavax/net/ssl/SSLEngine;
           15   21     7          ep  Lorg/eclipse/jetty/io/EndPoint;
    MethodParameters:
           Name  Flags
      connector  
      endPoint   

  protected abstract org.eclipse.jetty.io.AbstractConnection newServerConnection(org.eclipse.jetty.server.Connector, org.eclipse.jetty.io.EndPoint, javax.net.ssl.SSLEngine, java.util.List<java.lang.String>, java.lang.String);
    descriptor: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljavax/net/ssl/SSLEngine;Ljava/util/List;Ljava/lang/String;)Lorg/eclipse/jetty/io/AbstractConnection;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Signature: (Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljavax/net/ssl/SSLEngine;Ljava/util/List<Ljava/lang/String;>;Ljava/lang/String;)Lorg/eclipse/jetty/io/AbstractConnection;
    MethodParameters:
                 Name  Flags
      connector        
      endPoint         
      engine           
      protocols        
      defaultProtocol  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
         0: .line 116
            ldc "%s@%x{%s,%s,%s}"
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual java.lang.Object.hashCode:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.NegotiatingServerConnectionFactory.getProtocols:()Ljava/util/List;
            aastore
            dup
            iconst_3
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.NegotiatingServerConnectionFactory.getDefaultProtocol:()Ljava/lang/String;
            aastore
            dup
            iconst_4
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.NegotiatingServerConnectionFactory.getNegotiatedProtocols:()Ljava/util/List;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jetty.server.NegotiatingServerConnectionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jetty/server/NegotiatingServerConnectionFactory;

  private static boolean lambda$0(org.eclipse.jetty.server.Connector, java.lang.String);
    descriptor: (Lorg/eclipse/jetty/server/Connector;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 1 // java.lang.String p
         0: .line 80
            aload 0
            aload 1 /* p */
            invokeinterface org.eclipse.jetty.server.Connector.getConnectionFactory:(Ljava/lang/String;)Lorg/eclipse/jetty/server/ConnectionFactory;
            astore 2 /* f */
        start local 2 // org.eclipse.jetty.server.ConnectionFactory f
         1: .line 81
            aload 2 /* f */
            instanceof org.eclipse.jetty.server.SslConnectionFactory
            ifne 2
            aload 2 /* f */
            instanceof org.eclipse.jetty.server.NegotiatingServerConnectionFactory
            ifne 2
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jetty.server.ConnectionFactory
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // org.eclipse.jetty.server.ConnectionFactory f
        end local 1 // java.lang.String p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     p  Ljava/lang/String;
            1    3     2     f  Lorg/eclipse/jetty/server/ConnectionFactory;
}
SourceFile: "NegotiatingServerConnectionFactory.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public DecryptedEndPoint = org.eclipse.jetty.io.ssl.SslConnection$DecryptedEndPoint of org.eclipse.jetty.io.ssl.SslConnection