class org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection extends org.eclipse.jetty.io.AbstractConnection implements org.eclipse.jetty.io.Connection$UpgradeFrom, org.eclipse.jetty.io.Connection$UpgradeTo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection
  super_class: org.eclipse.jetty.io.AbstractConnection
{
  private final org.eclipse.jetty.server.Connector _connector;
    descriptor: Lorg/eclipse/jetty/server/Connector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.nio.ByteBuffer _buffer;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  final org.eclipse.jetty.server.DetectorConnectionFactory this$0;
    descriptor: Lorg/eclipse/jetty/server/DetectorConnectionFactory;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(org.eclipse.jetty.server.DetectorConnectionFactory, org.eclipse.jetty.io.EndPoint, org.eclipse.jetty.server.Connector);
    descriptor: (Lorg/eclipse/jetty/server/DetectorConnectionFactory;Lorg/eclipse/jetty/io/EndPoint;Lorg/eclipse/jetty/server/Connector;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
        start local 2 // org.eclipse.jetty.io.EndPoint endp
        start local 3 // org.eclipse.jetty.server.Connector connector
         0: .line 149
            aload 0 /* this */
            aload 1
            putfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
         1: .line 150
            aload 0 /* this */
            aload 2 /* endp */
            aload 3 /* connector */
            invokeinterface org.eclipse.jetty.server.Connector.getExecutor:()Ljava/util/concurrent/Executor;
            invokespecial org.eclipse.jetty.io.AbstractConnection.<init>:(Lorg/eclipse/jetty/io/EndPoint;Ljava/util/concurrent/Executor;)V
         2: .line 151
            aload 0 /* this */
            aload 3 /* connector */
            putfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
         3: .line 152
            aload 0 /* this */
            aload 3 /* connector */
            invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getInputBufferSize:()I
            iconst_1
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.acquire:(IZ)Ljava/nio/ByteBuffer;
            putfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
         4: .line 153
            return
        end local 3 // org.eclipse.jetty.server.Connector connector
        end local 2 // org.eclipse.jetty.io.EndPoint endp
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
            0    5     2       endp  Lorg/eclipse/jetty/io/EndPoint;
            0    5     3  connector  Lorg/eclipse/jetty/server/Connector;
    MethodParameters:
           Name  Flags
      this$0     final
      endp       
      connector  

  public void onUpgradeTo(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 158
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 159
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} copying unconsumed buffer {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aload 1 /* buffer */
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         2: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            aload 1 /* buffer */
            invokestatic org.eclipse.jetty.util.BufferUtil.append:(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)I
            pop
         3: .line 161
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
            0    4     1  buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  public java.nio.ByteBuffer onUpgradeFrom();
    descriptor: ()Ljava/nio/ByteBuffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
         0: .line 166
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 6
         1: .line 168
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 1 /* unconsumed */
        start local 1 // java.nio.ByteBuffer unconsumed
         2: .line 169
            aload 1 /* unconsumed */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
         3: .line 170
            aload 1 /* unconsumed */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
         4: .line 171
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
            invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
         5: .line 172
            aload 1 /* unconsumed */
            areturn
        end local 1 // java.nio.ByteBuffer unconsumed
         6: .line 174
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
            2    6     1  unconsumed  Ljava/nio/ByteBuffer;

  public void onOpen();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
         0: .line 180
            aload 0 /* this */
            invokespecial org.eclipse.jetty.io.AbstractConnection.onOpen:()V
         1: .line 181
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.detectAndUpgrade:()Z
            ifne 3
         2: .line 182
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.fillInterested:()V
         3: .line 183
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;

  public void onFillable();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
         0: .line 190
            goto 13
         1: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.EndPoint.fill:(Ljava/nio/ByteBuffer;)I
            istore 1 /* fill */
        start local 1 // int fill
         2: .line 194
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 4
         3: .line 195
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} filled buffer with {} bytes"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            iload 1 /* fill */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 196
      StackMap locals: int
      StackMap stack:
            iload 1 /* fill */
            ifge 8
         5: .line 198
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
            invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
         6: .line 199
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            invokeinterface org.eclipse.jetty.io.EndPoint.shutdownOutput:()V
         7: .line 200
            return
         8: .line 202
      StackMap locals:
      StackMap stack:
            iload 1 /* fill */
            ifne 11
         9: .line 204
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.fillInterested:()V
        10: .line 205
            return
        11: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.detectAndUpgrade:()Z
            ifeq 13
        12: .line 209
            return
        end local 1 // int fill
        13: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.space:(Ljava/nio/ByteBuffer;)I
            ifgt 1
        14: .line 213
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} failed to detect upgrade target on {} for {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            getfield org.eclipse.jetty.server.DetectorConnectionFactory._detectingConnectionFactories:Ljava/util/List;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            aastore
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        15: .line 214
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.releaseAndClose:()V
        16: .line 215
            goto 20
        17: .line 216
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 1 /* x */
        start local 1 // java.lang.Throwable x
        18: .line 218
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} error for {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            aastore
            dup
            iconst_2
            aload 1 /* x */
            aastore
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;[Ljava/lang/Object;)V
        19: .line 219
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.releaseAndClose:()V
        end local 1 // java.lang.Throwable x
        20: .line 221
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
            2   13     1  fill  I
           18   20     1     x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     7      17  Class java.lang.Throwable
           8    10      17  Class java.lang.Throwable
          11    12      17  Class java.lang.Throwable
          13    16      17  Class java.lang.Throwable

  private boolean detectAndUpgrade();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=1
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
         0: .line 228
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.isEmpty:(Ljava/nio/ByteBuffer;)Z
            ifeq 4
         1: .line 230
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 3
         2: .line 231
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} skipping detection on an empty buffer"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 235
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 6
         5: .line 236
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} performing detection with {} bytes"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.remaining:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 237
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 1 /* notRecognized */
        start local 1 // boolean notRecognized
         7: .line 238
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            getfield org.eclipse.jetty.server.DetectorConnectionFactory._detectingConnectionFactories:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 32
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int top java.util.Iterator
      StackMap stack:
         8: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jetty.server.ConnectionFactory$Detecting
            astore 2 /* detectingConnectionFactory */
        start local 2 // org.eclipse.jetty.server.ConnectionFactory$Detecting detectingConnectionFactory
         9: .line 240
            aload 2 /* detectingConnectionFactory */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.server.ConnectionFactory$Detecting.detect:(Ljava/nio/ByteBuffer;)Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
            astore 4 /* detection */
        start local 4 // org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection detection
        10: .line 241
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 12
        11: .line 242
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} performed detection from {} with {} which returned {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokestatic org.eclipse.jetty.util.BufferUtil.toDetailString:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* detectingConnectionFactory */
            aastore
            dup
            iconst_3
            aload 4 /* detection */
            aastore
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        12: .line 243
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int org.eclipse.jetty.server.ConnectionFactory$Detecting java.util.Iterator org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection
      StackMap stack:
            aload 4 /* detection */
            getstatic org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection.RECOGNIZED:Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
            if_acmpne 29
        13: .line 248
            aload 2 /* detectingConnectionFactory */
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            invokeinterface org.eclipse.jetty.server.ConnectionFactory$Detecting.newConnection:(Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;)Lorg/eclipse/jetty/io/Connection;
            astore 5 /* nextConnection */
        start local 5 // org.eclipse.jetty.io.Connection nextConnection
        14: .line 249
            aload 5 /* nextConnection */
            instanceof org.eclipse.jetty.io.Connection$UpgradeTo
            ifne 16
        15: .line 250
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot upgrade: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* nextConnection */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " does not implement "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc Lorg/eclipse/jetty/io/Connection$UpgradeTo;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 251
      StackMap locals: org.eclipse.jetty.io.Connection
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            aload 5 /* nextConnection */
            invokeinterface org.eclipse.jetty.io.EndPoint.upgrade:(Lorg/eclipse/jetty/io/Connection;)V
        17: .line 252
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 19
        18: .line 253
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} upgraded to {}"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aload 5 /* nextConnection */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        19: .line 254
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 5 // org.eclipse.jetty.io.Connection nextConnection
        20: .line 256
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int org.eclipse.jetty.server.ConnectionFactory$Detecting java.util.Iterator org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection
      StackMap stack: org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException
            astore 5 /* e */
        start local 5 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException e
        21: .line 259
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 23
        22: .line 260
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} failed to upgrade, rethrowing"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            aload 5 /* e */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        23: .line 261
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException e
        24: .line 263
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int org.eclipse.jetty.server.ConnectionFactory$Detecting java.util.Iterator org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        25: .line 269
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 27
        26: .line 270
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} failed to upgrade"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        27: .line 271
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.releaseAndClose:()V
        28: .line 272
            new org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException
            dup
            aload 5 /* e */
            invokespecial org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        29: .line 275
      StackMap locals:
      StackMap stack:
            iload 1 /* notRecognized */
            aload 4 /* detection */
            getstatic org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection.NOT_RECOGNIZED:Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
            if_acmpne 30
            iconst_1
            goto 31
      StackMap locals:
      StackMap stack: int
        30: iconst_0
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int org.eclipse.jetty.server.ConnectionFactory$Detecting java.util.Iterator org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection
      StackMap stack: int int
        31: iand
            istore 1 /* notRecognized */
        end local 4 // org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection detection
        end local 2 // org.eclipse.jetty.server.ConnectionFactory$Detecting detectingConnectionFactory
        32: .line 238
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        33: .line 278
            iload 1 /* notRecognized */
            ifeq 40
        34: .line 281
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 36
        35: .line 282
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} failed to detect a known protocol, falling back to nextProtocol()"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        36: .line 283
      StackMap locals: org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.getEndPoint:()Lorg/eclipse/jetty/io/EndPoint;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.nextProtocol:(Lorg/eclipse/jetty/server/Connector;Lorg/eclipse/jetty/io/EndPoint;Ljava/nio/ByteBuffer;)V
        37: .line 284
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 39
        38: .line 285
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} call to nextProtocol() succeeded, assuming upgrade performed"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        39: .line 286
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        40: .line 289
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // boolean notRecognized
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0   41     0                        this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
            7   41     1               notRecognized  Z
            9   32     2  detectingConnectionFactory  Lorg/eclipse/jetty/server/ConnectionFactory$Detecting;
           10   32     4                   detection  Lorg/eclipse/jetty/server/ConnectionFactory$Detecting$Detection;
           14   20     5              nextConnection  Lorg/eclipse/jetty/io/Connection;
           21   24     5                           e  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectionFailureException;
           25   29     5                           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    19      20  Class org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException
          13    19      24  Class java.lang.Exception

  private void releaseAndClose();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
         0: .line 294
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            invokeinterface org.slf4j.Logger.isDebugEnabled:()Z
            ifeq 2
         1: .line 295
            getstatic org.eclipse.jetty.server.DetectorConnectionFactory.LOG:Lorg/slf4j/Logger;
            ldc "Detector {} releasing buffer and closing"
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.this$0:Lorg/eclipse/jetty/server/DetectorConnectionFactory;
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory.getProtocol:()Ljava/lang/String;
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._connector:Lorg/eclipse/jetty/server/Connector;
            invokeinterface org.eclipse.jetty.server.Connector.getByteBufferPool:()Lorg/eclipse/jetty/io/ByteBufferPool;
            aload 0 /* this */
            getfield org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection._buffer:Ljava/nio/ByteBuffer;
            invokeinterface org.eclipse.jetty.io.ByteBufferPool.release:(Ljava/nio/ByteBuffer;)V
         3: .line 297
            aload 0 /* this */
            invokevirtual org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection.close:()V
         4: .line 298
            return
        end local 0 // org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jetty/server/DetectorConnectionFactory$DetectorConnection;
}
SourceFile: "DetectorConnectionFactory.java"
NestHost: org.eclipse.jetty.server.DetectorConnectionFactory
InnerClasses:
  public abstract UpgradeFrom = org.eclipse.jetty.io.Connection$UpgradeFrom of org.eclipse.jetty.io.Connection
  public abstract UpgradeTo = org.eclipse.jetty.io.Connection$UpgradeTo of org.eclipse.jetty.io.Connection
  public abstract Detecting = org.eclipse.jetty.server.ConnectionFactory$Detecting of org.eclipse.jetty.server.ConnectionFactory
  public final Detection = org.eclipse.jetty.server.ConnectionFactory$Detecting$Detection of org.eclipse.jetty.server.ConnectionFactory$Detecting
  private DetectionFailureException = org.eclipse.jetty.server.DetectorConnectionFactory$DetectionFailureException of org.eclipse.jetty.server.DetectorConnectionFactory
  private DetectorConnection = org.eclipse.jetty.server.DetectorConnectionFactory$DetectorConnection of org.eclipse.jetty.server.DetectorConnectionFactory