public class io.undertow.server.handlers.sse.ServerSentEventConnection implements java.nio.channels.Channel, io.undertow.util.Attachable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.undertow.server.handlers.sse.ServerSentEventConnection
  super_class: java.lang.Object
{
  private final io.undertow.server.HttpServerExchange exchange;
    descriptor: Lio/undertow/server/HttpServerExchange;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.xnio.channels.StreamSinkChannel sink;
    descriptor: Lorg/xnio/channels/StreamSinkChannel;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final io.undertow.server.handlers.sse.ServerSentEventConnection$SseWriteListener writeListener;
    descriptor: Lio/undertow/server/handlers/sse/ServerSentEventConnection$SseWriteListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private io.undertow.connector.PooledByteBuffer pooled;
    descriptor: Lio/undertow/connector/PooledByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Deque<io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData> queue;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;>;

  private final java.util.Queue<io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData> buffered;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;>;

  private final java.util.Queue<io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData> flushingMessages;
    descriptor: Ljava/util/Queue;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Queue<Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;>;

  private final java.util.List<org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>> closeTasks;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/xnio/ChannelListener<Lio/undertow/server/handlers/sse/ServerSentEventConnection;>;>;

  private java.util.Map<java.lang.String, java.lang.String> parameters;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  private java.util.Map<java.lang.String, java.lang.Object> properties;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  private static final java.util.concurrent.atomic.AtomicIntegerFieldUpdater<io.undertow.server.handlers.sse.ServerSentEventConnection> openUpdater;
    descriptor: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater<Lio/undertow/server/handlers/sse/ServerSentEventConnection;>;

  private volatile int open;
    descriptor: I
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean shutdown;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile long keepAliveTime;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private org.xnio.XnioExecutor$Key timerKey;
    descriptor: Lorg/xnio/XnioExecutor$Key;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 80
            ldc Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            ldc "open"
            invokestatic java.util.concurrent.atomic.AtomicIntegerFieldUpdater.newUpdater:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            putstatic io.undertow.server.handlers.sse.ServerSentEventConnection.openUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(io.undertow.server.HttpServerExchange, org.xnio.channels.StreamSinkChannel);
    descriptor: (Lio/undertow/server/HttpServerExchange;Lorg/xnio/channels/StreamSinkChannel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.server.HttpServerExchange exchange
        start local 2 // org.xnio.channels.StreamSinkChannel sink
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 66
            aload 0 /* this */
            new io.undertow.server.handlers.sse.ServerSentEventConnection$SseWriteListener
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$SseWriteListener.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.writeListener:Lio/undertow/server/handlers/sse/ServerSentEventConnection$SseWriteListener;
         2: .line 70
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedDeque
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedDeque.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
         3: .line 71
            aload 0 /* this */
            new java.util.concurrent.ConcurrentLinkedDeque
            dup
            invokespecial java.util.concurrent.ConcurrentLinkedDeque.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.buffered:Ljava/util/Queue;
         4: .line 75
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.flushingMessages:Ljava/util/Queue;
         5: .line 76
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.closeTasks:Ljava/util/List;
         6: .line 78
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.properties:Ljava/util/Map;
         7: .line 81
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.open:I
         8: .line 82
            aload 0 /* this */
            iconst_0
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.shutdown:Z
         9: .line 83
            aload 0 /* this */
            ldc -1
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.keepAliveTime:J
        10: .line 88
            aload 0 /* this */
            aload 1 /* exchange */
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
        11: .line 89
            aload 0 /* this */
            aload 2 /* sink */
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
        12: .line 90
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getCloseSetter:()Lorg/xnio/ChannelListener$Setter;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$1
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$1.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        13: .line 102
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getWriteSetter:()Lorg/xnio/ChannelListener$Setter;
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.writeListener:Lio/undertow/server/handlers/sse/ServerSentEventConnection$SseWriteListener;
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        14: .line 103
            return
        end local 2 // org.xnio.channels.StreamSinkChannel sink
        end local 1 // io.undertow.server.HttpServerExchange exchange
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0   15     1  exchange  Lio/undertow/server/HttpServerExchange;
            0   15     2      sink  Lorg/xnio/channels/StreamSinkChannel;
    MethodParameters:
          Name  Flags
      exchange  
      sink      

  public synchronized void addCloseTask(org.xnio.ChannelListener<io.undertow.server.handlers.sse.ServerSentEventConnection>);
    descriptor: (Lorg/xnio/ChannelListener;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // org.xnio.ChannelListener listener
         0: .line 111
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.closeTasks:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 112
            return
        end local 1 // org.xnio.ChannelListener listener
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1  listener  Lorg/xnio/ChannelListener<Lio/undertow/server/handlers/sse/ServerSentEventConnection;>;
    Signature: (Lorg/xnio/ChannelListener<Lio/undertow/server/handlers/sse/ServerSentEventConnection;>;)V
    MethodParameters:
          Name  Flags
      listener  

  public java.security.Principal getPrincipal();
    descriptor: ()Ljava/security/Principal;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 119
            aload 0 /* this */
            invokevirtual io.undertow.server.handlers.sse.ServerSentEventConnection.getAccount:()Lio/undertow/security/idm/Account;
            astore 1 /* account */
        start local 1 // io.undertow.security.idm.Account account
         1: .line 120
            aload 1 /* account */
            ifnull 3
         2: .line 121
            aload 1 /* account */
            invokeinterface io.undertow.security.idm.Account.getPrincipal:()Ljava/security/Principal;
            areturn
         3: .line 123
      StackMap locals: io.undertow.security.idm.Account
      StackMap stack:
            aconst_null
            areturn
        end local 1 // io.undertow.security.idm.Account account
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            1    4     1  account  Lio/undertow/security/idm/Account;

  public io.undertow.security.idm.Account getAccount();
    descriptor: ()Lio/undertow/security/idm/Account;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 131
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getSecurityContext:()Lio/undertow/security/api/SecurityContext;
            astore 1 /* sc */
        start local 1 // io.undertow.security.api.SecurityContext sc
         1: .line 132
            aload 1 /* sc */
            ifnull 3
         2: .line 133
            aload 1 /* sc */
            invokeinterface io.undertow.security.api.SecurityContext.getAuthenticatedAccount:()Lio/undertow/security/idm/Account;
            areturn
         3: .line 135
      StackMap locals: io.undertow.security.api.SecurityContext
      StackMap stack:
            aconst_null
            areturn
        end local 1 // io.undertow.security.api.SecurityContext sc
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            1    4     1    sc  Lio/undertow/security/api/SecurityContext;

  public io.undertow.util.HeaderMap getRequestHeaders();
    descriptor: ()Lio/undertow/util/HeaderMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 143
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getRequestHeaders:()Lio/undertow/util/HeaderMap;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public io.undertow.util.HeaderMap getResponseHeaders();
    descriptor: ()Lio/undertow/util/HeaderMap;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 151
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getResponseHeaders:()Lio/undertow/util/HeaderMap;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public java.lang.String getRequestURI();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 159
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getRequestURI:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public java.util.Map<java.lang.String, java.util.Deque<java.lang.String>> getQueryParameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 167
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getQueryParameters:()Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/Deque<Ljava/lang/String;>;>;

  public java.lang.String getQueryString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 175
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getQueryString:()Ljava/lang/String;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public void send(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.lang.String data
         0: .line 184
            aload 0 /* this */
            aload 1 /* data */
            aconst_null
            aconst_null
            aconst_null
            invokevirtual io.undertow.server.handlers.sse.ServerSentEventConnection.send:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
         1: .line 185
            return
        end local 1 // java.lang.String data
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1  data  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      data  

  public void send(java.lang.String, io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback);
    descriptor: (Ljava/lang/String;Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.lang.String data
        start local 2 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
         0: .line 194
            aload 0 /* this */
            aload 1 /* data */
            aconst_null
            aconst_null
            aload 2 /* callback */
            invokevirtual io.undertow.server.handlers.sse.ServerSentEventConnection.send:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
         1: .line 195
            return
        end local 2 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
        end local 1 // java.lang.String data
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1      data  Ljava/lang/String;
            0    2     2  callback  Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
    MethodParameters:
          Name  Flags
      data      
      callback  

  public void sendRetry(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // long retry
         0: .line 203
            aload 0 /* this */
            lload 1 /* retry */
            aconst_null
            invokevirtual io.undertow.server.handlers.sse.ServerSentEventConnection.sendRetry:(JLio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
         1: .line 204
            return
        end local 1 // long retry
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1  retry  J
    MethodParameters:
       Name  Flags
      retry  

  public synchronized void sendRetry(long, io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback);
    descriptor: (JLio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // long retry
        start local 3 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
         0: .line 215
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.open:I
            ifeq 1
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.shutdown:Z
            ifeq 4
         1: .line 216
      StackMap locals:
      StackMap stack:
            aload 3 /* callback */
            ifnull 3
         2: .line 217
            aload 3 /* callback */
            aload 0 /* this */
            aconst_null
            aconst_null
            aconst_null
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            invokeinterface io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback.failed:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/IOException;)V
         3: .line 219
      StackMap locals:
      StackMap stack:
            return
         4: .line 221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData
            dup
            lload 1 /* retry */
            aload 3 /* callback */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.<init>:(JLio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         5: .line 222
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$2
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$2.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         6: .line 233
            return
        end local 3 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
        end local 1 // long retry
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    7     1     retry  J
            0    7     3  callback  Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
    MethodParameters:
          Name  Flags
      retry     
      callback  

  public synchronized void send(java.lang.String, java.lang.String, java.lang.String, io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.lang.String data
        start local 2 // java.lang.String event
        start local 3 // java.lang.String id
        start local 4 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
         0: .line 244
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.open:I
            ifeq 1
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.shutdown:Z
            ifeq 4
         1: .line 245
      StackMap locals:
      StackMap stack:
            aload 4 /* callback */
            ifnull 3
         2: .line 246
            aload 4 /* callback */
            aload 0 /* this */
            aload 1 /* data */
            aload 2 /* event */
            aload 3 /* id */
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            invokeinterface io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback.failed:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/IOException;)V
         3: .line 248
      StackMap locals:
      StackMap stack:
            return
         4: .line 250
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData
            dup
            aload 2 /* event */
            aload 1 /* data */
            aload 3 /* id */
            aload 4 /* callback */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;)V
            invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
            pop
         5: .line 251
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$3
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$3.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         6: .line 262
            return
        end local 4 // io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback callback
        end local 3 // java.lang.String id
        end local 2 // java.lang.String event
        end local 1 // java.lang.String data
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    7     1      data  Ljava/lang/String;
            0    7     2     event  Ljava/lang/String;
            0    7     3        id  Ljava/lang/String;
            0    7     4  callback  Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
    MethodParameters:
          Name  Flags
      data      
      event     
      id        
      callback  

  public java.lang.String getParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.lang.String name
         0: .line 265
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.parameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 266
            aconst_null
            areturn
         2: .line 268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.parameters:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            areturn
        end local 1 // java.lang.String name
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void setParameter(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 272
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.parameters:Ljava/util/Map;
            ifnonnull 2
         1: .line 273
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.parameters:Ljava/util/Map;
         2: .line 275
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.parameters:Ljava/util/Map;
            aload 1 /* name */
            aload 2 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 276
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    4     1   name  Ljava/lang/String;
            0    4     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  public java.util.Map<java.lang.String, java.lang.Object> getProperties();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 279
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.properties:Ljava/util/Map;
            areturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;

  public long getKeepAliveTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 288
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.keepAliveTime:J
            lreturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public void setKeepAliveTime(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // long keepAliveTime
         0: .line 300
            aload 0 /* this */
            lload 1 /* keepAliveTime */
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.keepAliveTime:J
         1: .line 301
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.timerKey:Lorg/xnio/XnioExecutor$Key;
            ifnull 3
         2: .line 302
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.timerKey:Lorg/xnio/XnioExecutor$Key;
            invokeinterface org.xnio.XnioExecutor$Key.remove:()Z
            pop
         3: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$4
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$4.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
         4: .line 320
            lload 1 /* keepAliveTime */
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
         5: .line 304
            invokevirtual org.xnio.XnioIoThread.executeAtInterval:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Lorg/xnio/XnioExecutor$Key;
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.timerKey:Lorg/xnio/XnioExecutor$Key;
         6: .line 321
            return
        end local 1 // long keepAliveTime
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    7     1  keepAliveTime  J
    MethodParameters:
               Name  Flags
      keepAliveTime  

  private void fillBuffer();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 324
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifeq 6
         1: .line 325
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            ifnull 5
         2: .line 326
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         3: .line 327
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
         4: .line 328
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.suspendWrites:()V
         5: .line 330
      StackMap locals:
      StackMap stack:
            return
         6: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            ifnonnull 9
         7: .line 334
            aload 0 /* this */
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            invokevirtual io.undertow.server.ServerConnection.getByteBufferPool:()Lio/undertow/connector/ByteBufferPool;
            invokeinterface io.undertow.connector.ByteBufferPool.allocate:()Lio/undertow/connector/PooledByteBuffer;
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
         8: .line 335
            goto 10
         9: .line 336
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        10: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.getBuffer:()Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        start local 1 // java.nio.ByteBuffer buffer
        11: .line 340
            goto 63
        12: .line 341
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.poll:()Ljava/lang/Object;
            checkcast io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData
            astore 2 /* data */
        start local 2 // io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData data
        13: .line 342
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.buffered:Ljava/util/Queue;
            aload 2 /* data */
            invokeinterface java.util.Queue.add:(Ljava/lang/Object;)Z
            pop
        14: .line 343
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
            ifnonnull 53
        15: .line 344
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* message */
        start local 3 // java.lang.StringBuilder message
        16: .line 345
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.retry:J
            lconst_0
            lcmp
            ifle 21
        17: .line 346
            aload 3 /* message */
            ldc "retry:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 347
            aload 3 /* message */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.retry:J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            pop
        19: .line 348
            aload 3 /* message */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 349
            goto 41
        21: .line 350
      StackMap locals: io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData java.lang.StringBuilder
      StackMap stack:
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.id:Ljava/lang/String;
            ifnull 25
        22: .line 351
            aload 3 /* message */
            ldc "id:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 352
            aload 3 /* message */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.id:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        24: .line 353
            aload 3 /* message */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        25: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.event:Ljava/lang/String;
            ifnull 29
        26: .line 356
            aload 3 /* message */
            ldc "event:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 357
            aload 3 /* message */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.event:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 358
            aload 3 /* message */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        29: .line 360
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.data:Ljava/lang/String;
            ifnull 41
        30: .line 361
            aload 3 /* message */
            ldc "data:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        31: .line 362
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        32: goto 39
        33: .line 363
      StackMap locals: int
      StackMap stack:
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.data:Ljava/lang/String;
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
        34: .line 364
            iload 5 /* c */
            bipush 10
            if_icmpne 37
        35: .line 365
            aload 3 /* message */
            ldc "\ndata:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 366
            goto 38
        37: .line 367
      StackMap locals: int
      StackMap stack:
            aload 3 /* message */
            iload 5 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 5 // char c
        38: .line 362
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        39: iload 4 /* i */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.data:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmplt 33
        end local 4 // int i
        40: .line 370
            aload 3 /* message */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        41: .line 373
      StackMap locals:
      StackMap stack:
            aload 3 /* message */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 374
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            astore 4 /* messageBytes */
        start local 4 // byte[] messageBytes
        43: .line 375
            aload 4 /* messageBytes */
            arraylength
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmpge 47
        44: .line 376
            aload 1 /* buffer */
            aload 4 /* messageBytes */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        45: .line 377
            aload 2 /* data */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.endBufferPosition:I
        46: .line 378
            goto 63
        47: .line 379
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            aload 2 /* data */
            invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
        48: .line 380
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* rem */
        start local 5 // int rem
        49: .line 381
            aload 1 /* buffer */
            aload 4 /* messageBytes */
            iconst_0
            iload 5 /* rem */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        50: .line 382
            aload 2 /* data */
            aload 4 /* messageBytes */
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
        51: .line 383
            aload 2 /* data */
            iload 5 /* rem */
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
        end local 5 // int rem
        end local 4 // byte[] messageBytes
        end local 3 // java.lang.StringBuilder message
        52: .line 385
            goto 63
        53: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
            arraylength
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
            isub
            istore 3 /* remainingData */
        start local 3 // int remainingData
        54: .line 387
            iload 3 /* remainingData */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 60
        55: .line 388
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            aload 2 /* data */
            invokeinterface java.util.Deque.addFirst:(Ljava/lang/Object;)V
        56: .line 389
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* toWrite */
        start local 4 // int toWrite
        57: .line 390
            aload 1 /* buffer */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
            iload 4 /* toWrite */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        58: .line 391
            aload 2 /* data */
            dup
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
            iload 4 /* toWrite */
            iadd
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
        end local 4 // int toWrite
        59: .line 392
            goto 63
        60: .line 393
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
            aload 2 /* data */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverDataOffset:I
            iload 3 /* remainingData */
            invokevirtual java.nio.ByteBuffer.put:([BII)Ljava/nio/ByteBuffer;
            pop
        61: .line 394
            aload 2 /* data */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.endBufferPosition:I
        62: .line 395
            aload 2 /* data */
            aconst_null
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.leftOverData:[B
        end local 3 // int remainingData
        end local 2 // io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData data
        63: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 64
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 12
        64: .line 399
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        65: .line 400
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.resumeWrites:()V
        66: .line 401
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   67     0           this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
           11   67     1         buffer  Ljava/nio/ByteBuffer;
           13   63     2           data  Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;
           16   52     3        message  Ljava/lang/StringBuilder;
           32   40     4              i  I
           34   38     5              c  C
           43   52     4   messageBytes  [B
           49   52     5            rem  I
           54   63     3  remainingData  I
           57   59     4        toWrite  I

  public void shutdown();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 407
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.open:I
            ifeq 1
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.shutdown:Z
            ifeq 2
         1: .line 408
      StackMap locals:
      StackMap stack:
            return
         2: .line 410
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.shutdown:Z
         3: .line 411
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getIoThread:()Lorg/xnio/XnioIoThread;
            new io.undertow.server.handlers.sse.ServerSentEventConnection$5
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$5.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            invokevirtual org.xnio.XnioIoThread.execute:(Ljava/lang/Runnable;)V
         4: .line 422
            return
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public boolean isOpen();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 426
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.open:I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
         0: .line 431
            aload 0 /* this */
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            invokevirtual io.undertow.server.handlers.sse.ServerSentEventConnection.close:(Ljava/io/IOException;)V
         1: .line 432
            return
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
    Exceptions:
      throws java.io.IOException

  private synchronized void close(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.io.IOException e
         0: .line 435
            getstatic io.undertow.server.handlers.sse.ServerSentEventConnection.openUpdater:Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
            aload 0 /* this */
            iconst_1
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicIntegerFieldUpdater.compareAndSet:(Ljava/lang/Object;II)Z
            ifeq 23
         1: .line 436
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            ifnull 4
         2: .line 437
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
            invokeinterface io.undertow.connector.PooledByteBuffer.close:()V
         3: .line 438
            aload 0 /* this */
            aconst_null
            putfield io.undertow.server.handlers.sse.ServerSentEventConnection.pooled:Lio/undertow/connector/PooledByteBuffer;
         4: .line 440
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.size:()I
            iadd
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.flushingMessages:Ljava/util/Queue;
            invokeinterface java.util.Queue.size:()I
            iadd
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* cb */
        start local 2 // java.util.List cb
         5: .line 441
            aload 2 /* cb */
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.buffered:Ljava/util/Queue;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         6: .line 442
            aload 2 /* cb */
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 443
            aload 2 /* cb */
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.flushingMessages:Ljava/util/Queue;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         8: .line 444
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.queue:Ljava/util/Deque;
            invokeinterface java.util.Deque.clear:()V
         9: .line 445
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.buffered:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        10: .line 446
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.flushingMessages:Ljava/util/Queue;
            invokeinterface java.util.Queue.clear:()V
        11: .line 447
            aload 2 /* cb */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: io.undertow.server.handlers.sse.ServerSentEventConnection java.io.IOException java.util.List top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData
            astore 3 /* i */
        start local 3 // io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData i
        13: .line 448
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.callback:Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
            ifnull 18
        14: .line 450
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.callback:Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
            aload 0 /* this */
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.data:Ljava/lang/String;
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.event:Ljava/lang/String;
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.id:Ljava/lang/String;
            aload 1 /* e */
            invokeinterface io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback.failed:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/io/IOException;)V
        15: .line 451
            goto 18
      StackMap locals: io.undertow.server.handlers.sse.ServerSentEventConnection java.io.IOException java.util.List io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData java.util.Iterator
      StackMap stack: java.lang.Exception
        16: astore 5 /* ex */
        start local 5 // java.lang.Exception ex
        17: .line 452
            getstatic io.undertow.UndertowLogger.REQUEST_LOGGER:Lio/undertow/UndertowLogger;
            aload 3 /* i */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData.callback:Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;
            aload 5 /* ex */
            invokeinterface io.undertow.UndertowLogger.failedToInvokeFailedCallback:(Lio/undertow/server/handlers/sse/ServerSentEventConnection$EventCallback;Ljava/lang/Exception;)V
        end local 5 // java.lang.Exception ex
        end local 3 // io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData i
        18: .line 447
      StackMap locals: io.undertow.server.handlers.sse.ServerSentEventConnection java.io.IOException java.util.List top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        19: .line 456
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.shutdownWrites:()V
        20: .line 457
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.flush:()Z
            ifne 23
        21: .line 458
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.getWriteSetter:()Lorg/xnio/ChannelListener$Setter;
            aconst_null
            new io.undertow.server.handlers.sse.ServerSentEventConnection$6
            dup
            aload 0 /* this */
            invokespecial io.undertow.server.handlers.sse.ServerSentEventConnection$6.<init>:(Lio/undertow/server/handlers/sse/ServerSentEventConnection;)V
            invokestatic org.xnio.ChannelListeners.flushingChannelListener:(Lorg/xnio/ChannelListener;Lorg/xnio/ChannelExceptionHandler;)Lorg/xnio/ChannelListener;
            invokeinterface org.xnio.ChannelListener$Setter.set:(Lorg/xnio/ChannelListener;)V
        22: .line 464
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            invokeinterface org.xnio.channels.StreamSinkChannel.resumeWrites:()V
        end local 2 // java.util.List cb
        23: .line 467
      StackMap locals: io.undertow.server.handlers.sse.ServerSentEventConnection java.io.IOException
      StackMap stack:
            return
        end local 1 // java.io.IOException e
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0   24     1     e  Ljava/io/IOException;
            5   23     2    cb  Ljava/util/List<Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;>;
           13   18     3     i  Lio/undertow/server/handlers/sse/ServerSentEventConnection$SSEData;
           17   18     5    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          14    15      16  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      e     

  public <T> T getAttachment(io.undertow.util.AttachmentKey<T>);
    descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.util.AttachmentKey key
         0: .line 471
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            aload 1 /* key */
            invokevirtual io.undertow.server.HttpServerExchange.getAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            areturn
        end local 1 // io.undertow.util.AttachmentKey key
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    1     1   key  Lio/undertow/util/AttachmentKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;)TT;
    MethodParameters:
      Name  Flags
      key   

  public <T> java.util.List<T> getAttachmentList(io.undertow.util.AttachmentKey<? extends java.util.List<T>>);
    descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.util.AttachmentKey key
         0: .line 476
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            aload 1 /* key */
            invokevirtual io.undertow.server.HttpServerExchange.getAttachmentList:(Lio/undertow/util/AttachmentKey;)Ljava/util/List;
            areturn
        end local 1 // io.undertow.util.AttachmentKey key
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    1     1   key  Lio/undertow/util/AttachmentKey<+Ljava/util/List<TT;>;>;
    Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<+Ljava/util/List<TT;>;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      key   

  public <T> T putAttachment(io.undertow.util.AttachmentKey<T>, );
    descriptor: (Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.util.AttachmentKey key
        start local 2 // java.lang.Object value
         0: .line 481
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual io.undertow.server.HttpServerExchange.putAttachment:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object value
        end local 1 // io.undertow.util.AttachmentKey key
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    1     1    key  Lio/undertow/util/AttachmentKey<TT;>;
            0    1     2  value  TT;
    Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;TT;)TT;
    MethodParameters:
       Name  Flags
      key    
      value  

  public <T> T removeAttachment(io.undertow.util.AttachmentKey<T>);
    descriptor: (Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.util.AttachmentKey key
         0: .line 486
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            aload 1 /* key */
            invokevirtual io.undertow.server.HttpServerExchange.removeAttachment:(Lio/undertow/util/AttachmentKey;)Ljava/lang/Object;
            areturn
        end local 1 // io.undertow.util.AttachmentKey key
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    1     1   key  Lio/undertow/util/AttachmentKey<TT;>;
    Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<TT;>;)TT;
    MethodParameters:
      Name  Flags
      key   

  public <T> void addToAttachmentList(io.undertow.util.AttachmentKey<io.undertow.util.AttachmentList<T>>, );
    descriptor: (Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // io.undertow.util.AttachmentKey key
        start local 2 // java.lang.Object value
         0: .line 491
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual io.undertow.server.HttpServerExchange.addToAttachmentList:(Lio/undertow/util/AttachmentKey;Ljava/lang/Object;)V
         1: .line 492
            return
        end local 2 // java.lang.Object value
        end local 1 // io.undertow.util.AttachmentKey key
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1    key  Lio/undertow/util/AttachmentKey<Lio/undertow/util/AttachmentList<TT;>;>;
            0    2     2  value  TT;
    Signature: <T:Ljava/lang/Object;>(Lio/undertow/util/AttachmentKey<Lio/undertow/util/AttachmentList<TT;>;>;TT;)V
    MethodParameters:
       Name  Flags
      key    
      value  

  private void handleException(java.io.IOException);
    descriptor: (Ljava/io/IOException;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
        start local 1 // java.io.IOException e
         0: .line 631
            iconst_3
            anewarray java.io.Closeable
            dup
            iconst_0
         1: .line 630
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.sink:Lorg/xnio/channels/StreamSinkChannel;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield io.undertow.server.handlers.sse.ServerSentEventConnection.exchange:Lio/undertow/server/HttpServerExchange;
            invokevirtual io.undertow.server.HttpServerExchange.getConnection:()Lio/undertow/server/ServerConnection;
            aastore
            invokestatic org.xnio.IoUtils.safeClose:([Ljava/io/Closeable;)V
            return
        end local 1 // java.io.IOException e
        end local 0 // io.undertow.server.handlers.sse.ServerSentEventConnection this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/undertow/server/handlers/sse/ServerSentEventConnection;
            0    2     1     e  Ljava/io/IOException;
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "ServerSentEventConnection.java"
NestMembers:
  io.undertow.server.handlers.sse.ServerSentEventConnection$1  io.undertow.server.handlers.sse.ServerSentEventConnection$2  io.undertow.server.handlers.sse.ServerSentEventConnection$3  io.undertow.server.handlers.sse.ServerSentEventConnection$4  io.undertow.server.handlers.sse.ServerSentEventConnection$5  io.undertow.server.handlers.sse.ServerSentEventConnection$6  io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback  io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData  io.undertow.server.handlers.sse.ServerSentEventConnection$SseWriteListener
InnerClasses:
  io.undertow.server.handlers.sse.ServerSentEventConnection$1
  io.undertow.server.handlers.sse.ServerSentEventConnection$2
  io.undertow.server.handlers.sse.ServerSentEventConnection$3
  io.undertow.server.handlers.sse.ServerSentEventConnection$4
  io.undertow.server.handlers.sse.ServerSentEventConnection$5
  io.undertow.server.handlers.sse.ServerSentEventConnection$6
  public abstract EventCallback = io.undertow.server.handlers.sse.ServerSentEventConnection$EventCallback of io.undertow.server.handlers.sse.ServerSentEventConnection
  private SSEData = io.undertow.server.handlers.sse.ServerSentEventConnection$SSEData of io.undertow.server.handlers.sse.ServerSentEventConnection
  private SseWriteListener = io.undertow.server.handlers.sse.ServerSentEventConnection$SseWriteListener of io.undertow.server.handlers.sse.ServerSentEventConnection
  public abstract Setter = org.xnio.ChannelListener$Setter of org.xnio.ChannelListener
  public abstract Key = org.xnio.XnioExecutor$Key of org.xnio.XnioExecutor