class io.undertow.server.AbstractServerConnection$CloseSetter implements org.xnio.ChannelListener$Setter<io.undertow.server.ServerConnection>, org.xnio.ChannelListener<org.xnio.StreamConnection>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: io.undertow.server.AbstractServerConnection$CloseSetter
  super_class: java.lang.Object
{
  private org.xnio.ChannelListener<? super io.undertow.server.ServerConnection> listener;
    descriptor: Lorg/xnio/ChannelListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;

  final io.undertow.server.AbstractServerConnection this$0;
    descriptor: Lio/undertow/server/AbstractServerConnection;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(io.undertow.server.AbstractServerConnection);
    descriptor: (Lio/undertow/server/AbstractServerConnection;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
         0: .line 296
            aload 0 /* this */
            aload 1
            putfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/AbstractServerConnection$CloseSetter;
    MethodParameters:
        Name  Flags
      this$0  final

  public void set(org.xnio.ChannelListener<? super io.undertow.server.ServerConnection>);
    descriptor: (Lorg/xnio/ChannelListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
        start local 1 // org.xnio.ChannelListener listener
         0: .line 302
            aload 0 /* this */
            aload 1 /* listener */
            putfield io.undertow.server.AbstractServerConnection$CloseSetter.listener:Lorg/xnio/ChannelListener;
         1: .line 303
            return
        end local 1 // org.xnio.ChannelListener listener
        end local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/AbstractServerConnection$CloseSetter;
            0    2     1  listener  Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;
    Signature: (Lorg/xnio/ChannelListener<-Lio/undertow/server/ServerConnection;>;)V
    MethodParameters:
          Name  Flags
      listener  

  public void handleEvent(org.xnio.StreamConnection);
    descriptor: (Lorg/xnio/StreamConnection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
        start local 1 // org.xnio.StreamConnection channel
         0: .line 308
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.closeListeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 6
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.ServerConnection$CloseListener
            astore 2 /* l */
        start local 2 // io.undertow.server.ServerConnection$CloseListener l
         2: .line 310
            aload 2 /* l */
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            invokeinterface io.undertow.server.ServerConnection$CloseListener.closed:(Lio/undertow/server/ServerConnection;)V
         3: .line 311
            goto 6
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection io.undertow.server.ServerConnection$CloseListener java.util.Iterator
      StackMap stack: java.lang.Throwable
         4: astore 4 /* e */
        start local 4 // java.lang.Throwable e
         5: .line 312
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 2 /* l */
            aload 4 /* e */
            invokeinterface io.undertow.UndertowLogger.exceptionInvokingCloseListener:(Lio/undertow/server/ServerConnection$CloseListener;Ljava/lang/Throwable;)V
        end local 4 // java.lang.Throwable e
        end local 2 // io.undertow.server.ServerConnection$CloseListener l
         6: .line 308
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         7: .line 315
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.current:Lio/undertow/server/HttpServerExchange;
            ifnull 9
         8: .line 316
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.current:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.endExchange:()Lio/undertow/server/HttpServerExchange;
            pop
         9: .line 318
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.listener:Lorg/xnio/ChannelListener;
            invokestatic org.xnio.ChannelListeners.invokeChannelListener:(Ljava/nio/channels/Channel;Lorg/xnio/ChannelListener;)Z
            pop
        10: .line 319
            goto 16
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: astore 5
        12: .line 320
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
            ifnull 15
        13: .line 321
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        14: .line 322
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            aconst_null
            putfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
        15: .line 324
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection top top top java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        16: .line 320
      StackMap locals: io.undertow.server.AbstractServerConnection$CloseSetter org.xnio.StreamConnection
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
            ifnull 19
        17: .line 321
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            getfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
        18: .line 322
            aload 0 /* this */
            getfield io.undertow.server.AbstractServerConnection$CloseSetter.this$0:Lio/undertow/server/AbstractServerConnection;
            aconst_null
            putfield io.undertow.server.AbstractServerConnection.extraBytes:Lio/undertow/connector/PooledByteBuffer;
        19: .line 325
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.xnio.StreamConnection channel
        end local 0 // io.undertow.server.AbstractServerConnection$CloseSetter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   20     0     this  Lio/undertow/server/AbstractServerConnection$CloseSetter;
            0   20     1  channel  Lorg/xnio/StreamConnection;
            2    6     2        l  Lio/undertow/server/ServerConnection$CloseListener;
            5    6     4        e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
           0    11      11  any
    MethodParameters:
         Name  Flags
      channel  

  public void handleEvent(java.nio.channels.Channel);
    descriptor: (Ljava/nio/channels/Channel;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.xnio.StreamConnection
            invokevirtual io.undertow.server.AbstractServerConnection$CloseSetter.handleEvent:(Lorg/xnio/StreamConnection;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Lorg/xnio/ChannelListener$Setter<Lio/undertow/server/ServerConnection;>;Lorg/xnio/ChannelListener<Lorg/xnio/StreamConnection;>;
SourceFile: "AbstractServerConnection.java"
NestHost: io.undertow.server.AbstractServerConnection
InnerClasses:
  private CloseSetter = io.undertow.server.AbstractServerConnection$CloseSetter of io.undertow.server.AbstractServerConnection
  public abstract CloseListener = io.undertow.server.ServerConnection$CloseListener of io.undertow.server.ServerConnection
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener