class org.glassfish.jersey.server.ChunkedOutput$1 implements java.util.concurrent.Callable<java.lang.Void>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.glassfish.jersey.server.ChunkedOutput$1
  super_class: java.lang.Object
{
  final org.glassfish.jersey.server.ChunkedOutput this$0;
    descriptor: Lorg/glassfish/jersey/server/ChunkedOutput;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.glassfish.jersey.server.ChunkedOutput);
    descriptor: (Lorg/glassfish/jersey/server/ChunkedOutput;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.glassfish.jersey.server.ChunkedOutput$1 this
         0: .line 195
            aload 0 /* this */
            aload 1
            putfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.glassfish.jersey.server.ChunkedOutput$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/glassfish/jersey/server/ChunkedOutput$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.lang.Void call();
    descriptor: ()Ljava/lang/Void;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=5, args_size=1
        start local 0 // org.glassfish.jersey.server.ChunkedOutput$1 this
         0: .line 201
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            dup
            astore 3
            monitorenter
         1: .line 202
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.flushing:Z
            ifeq 4
         2: .line 204
            aload 3
            monitorexit
         3: aconst_null
            areturn
         4: .line 211
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 top top org.glassfish.jersey.server.ChunkedOutput
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.closed:Z
            istore 1 /* shouldClose */
        start local 1 // boolean shouldClose
         5: .line 212
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.queue:Ljava/util/concurrent/BlockingDeque;
            invokeinterface java.util.concurrent.BlockingDeque.poll:()Ljava/lang/Object;
            astore 2 /* t */
        start local 2 // java.lang.Object t
         6: .line 213
            aload 2 /* t */
            ifnonnull 7
            iload 1 /* shouldClose */
            ifeq 8
         7: .line 217
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object org.glassfish.jersey.server.ChunkedOutput
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            iconst_1
            putfield org.glassfish.jersey.server.ChunkedOutput.flushing:Z
         8: .line 201
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         9: goto 51
        end local 2 // java.lang.Object t
        end local 1 // boolean shouldClose
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 top top org.glassfish.jersey.server.ChunkedOutput
      StackMap stack: java.lang.Throwable
        10: aload 3
            monitorexit
        11: athrow
        start local 1 // boolean shouldClose
        start local 2 // java.lang.Object t
        12: .line 223
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            invokevirtual org.glassfish.jersey.server.ContainerResponse.getEntityStream:()Ljava/io/OutputStream;
            astore 3 /* origStream */
        start local 3 // java.io.OutputStream origStream
        13: .line 224
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.requestContext:Lorg/glassfish/jersey/server/ContainerRequest;
            invokevirtual org.glassfish.jersey.server.ContainerRequest.getWorkers:()Lorg/glassfish/jersey/message/MessageBodyWorkers;
        14: .line 225
            aload 2 /* t */
        15: .line 226
            aload 2 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        16: .line 227
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            invokevirtual org.glassfish.jersey.server.ChunkedOutput.getType:()Ljava/lang/reflect/Type;
        17: .line 228
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            invokevirtual org.glassfish.jersey.server.ContainerResponse.getEntityAnnotations:()[Ljava/lang/annotation/Annotation;
        18: .line 229
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            invokevirtual org.glassfish.jersey.server.ContainerResponse.getMediaType:()Ljavax/ws/rs/core/MediaType;
        19: .line 230
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            invokevirtual org.glassfish.jersey.server.ContainerResponse.getHeaders:()Ljavax/ws/rs/core/MultivaluedMap;
        20: .line 231
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.requestContext:Lorg/glassfish/jersey/server/ContainerRequest;
            invokevirtual org.glassfish.jersey.server.ContainerRequest.getPropertiesDelegate:()Lorg/glassfish/jersey/internal/PropertiesDelegate;
        21: .line 232
            aload 3 /* origStream */
        22: .line 236
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        23: .line 224
            invokeinterface org.glassfish.jersey.message.MessageBodyWorkers.writeTo:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/glassfish/jersey/internal/PropertiesDelegate;Ljava/io/OutputStream;Ljava/lang/Iterable;)Ljava/io/OutputStream;
            astore 4 /* writtenStream */
        start local 4 // java.io.OutputStream writtenStream
        24: .line 239
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.chunkDelimiter:[B
            getstatic org.glassfish.jersey.server.ChunkedOutput.ZERO_LENGTH_DELIMITER:[B
            if_acmpeq 26
        25: .line 241
            aload 4 /* writtenStream */
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.chunkDelimiter:[B
            invokevirtual java.io.OutputStream.write:([B)V
        26: .line 245
      StackMap locals: java.io.OutputStream java.io.OutputStream
      StackMap stack:
            aload 4 /* writtenStream */
            invokevirtual java.io.OutputStream.flush:()V
        27: .line 247
            aload 3 /* origStream */
            aload 4 /* writtenStream */
            if_acmpeq 37
        28: .line 249
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            aload 4 /* writtenStream */
            invokevirtual org.glassfish.jersey.server.ContainerResponse.setEntityStream:(Ljava/io/OutputStream;)V
        end local 4 // java.io.OutputStream writtenStream
        end local 3 // java.io.OutputStream origStream
        29: .line 251
            goto 37
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object
      StackMap stack: java.io.IOException
        30: astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        31: .line 252
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.connectionCallback:Ljavax/ws/rs/container/ConnectionCallback;
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.asyncContext:Lorg/glassfish/jersey/server/AsyncContext;
            invokeinterface javax.ws.rs.container.ConnectionCallback.onDisconnect:(Ljavax/ws/rs/container/AsyncResponse;)V
        32: .line 253
            aload 3 /* ioe */
            athrow
        end local 3 // java.io.IOException ioe
        33: .line 254
      StackMap locals:
      StackMap stack: org.glassfish.jersey.server.internal.process.MappableException
            astore 3 /* mpe */
        start local 3 // org.glassfish.jersey.server.internal.process.MappableException mpe
        34: .line 255
            aload 3 /* mpe */
            invokevirtual org.glassfish.jersey.server.internal.process.MappableException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 36
        35: .line 256
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.connectionCallback:Ljavax/ws/rs/container/ConnectionCallback;
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.asyncContext:Lorg/glassfish/jersey/server/AsyncContext;
            invokeinterface javax.ws.rs.container.ConnectionCallback.onDisconnect:(Ljavax/ws/rs/container/AsyncResponse;)V
        36: .line 258
      StackMap locals: org.glassfish.jersey.server.internal.process.MappableException
      StackMap stack:
            aload 3 /* mpe */
            athrow
        end local 3 // org.glassfish.jersey.server.internal.process.MappableException mpe
        37: .line 260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.queue:Ljava/util/concurrent/BlockingDeque;
            invokeinterface java.util.concurrent.BlockingDeque.poll:()Ljava/lang/Object;
            astore 2 /* t */
        38: .line 261
            aload 2 /* t */
            ifnonnull 51
        39: .line 262
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            dup
            astore 3
            monitorenter
        40: .line 267
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.closed:Z
            istore 1 /* shouldClose */
        41: .line 268
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.queue:Ljava/util/concurrent/BlockingDeque;
            invokeinterface java.util.concurrent.BlockingDeque.poll:()Ljava/lang/Object;
            astore 2 /* t */
        42: .line 269
            aload 2 /* t */
            ifnonnull 47
        43: .line 274
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.responseContext:Lorg/glassfish/jersey/server/ContainerResponse;
            invokevirtual org.glassfish.jersey.server.ContainerResponse.commitStream:()V
        44: .line 277
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            iload 1 /* shouldClose */
            putfield org.glassfish.jersey.server.ChunkedOutput.flushing:Z
        45: .line 278
            aload 3
            monitorexit
        46: goto 52
        47: .line 262
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput
      StackMap stack:
            aload 3
            monitorexit
        48: goto 51
      StackMap locals:
      StackMap stack: java.lang.Throwable
        49: aload 3
            monitorexit
        50: athrow
        51: .line 221
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            ifnonnull 12
        52: .line 283
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object t
        end local 1 // boolean shouldClose
        end local 0 // org.glassfish.jersey.server.ChunkedOutput$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   53     0           this  Lorg/glassfish/jersey/server/ChunkedOutput$1;
            5   10     1    shouldClose  Z
           12   53     1    shouldClose  Z
            6   10     2              t  TT;
           12   53     2              t  TT;
           13   29     3     origStream  Ljava/io/OutputStream;
           24   29     4  writtenStream  Ljava/io/OutputStream;
           31   33     3            ioe  Ljava/io/IOException;
           34   37     3            mpe  Lorg/glassfish/jersey/server/internal/process/MappableException;
      Exception table:
        from    to  target  type
           1     3      10  any
           4     9      10  any
          10    11      10  any
          12    29      30  Class java.io.IOException
          12    29      33  Class org.glassfish.jersey.server.internal.process.MappableException
          40    46      49  any
          47    48      49  any
          49    50      49  any
    Exceptions:
      throws java.io.IOException

  public java.lang.Object call();
    descriptor: ()Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.glassfish.jersey.server.ChunkedOutput$1.call:()Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/util/concurrent/Callable<Ljava/lang/Void;>;
SourceFile: "ChunkedOutput.java"
EnclosingMethod: org.glassfish.jersey.server.ChunkedOutput.flushQueue:()V
NestHost: org.glassfish.jersey.server.ChunkedOutput
InnerClasses:
  org.glassfish.jersey.server.ChunkedOutput$1