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 198
            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=7, args_size=1
        start local 0 // org.glassfish.jersey.server.ChunkedOutput$1 this
         0: .line 204
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 205
            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 207
            aload 3
            monitorexit
         3: aconst_null
            areturn
         4: .line 214
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 top top 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.closed:Z
            istore 1 /* shouldClose */
        start local 1 // boolean shouldClose
         5: .line 215
            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 216
            aload 2 /* t */
            ifnonnull 7
            iload 1 /* shouldClose */
            ifeq 8
         7: .line 220
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object java.lang.Object
      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 204
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
         9: goto 71
        end local 2 // java.lang.Object t
        end local 1 // boolean shouldClose
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 top top java.lang.Object
      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 226
      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.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        13: .line 227
            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.touchingEntityStream:Z
        14: .line 226
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 230
      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.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
        19: .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.getWorkers:()Lorg/glassfish/jersey/message/MessageBodyWorkers;
        20: .line 232
            aload 2 /* t */
        21: .line 233
            aload 2 /* t */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
        22: .line 234
            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;
        23: .line 235
            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;
        24: .line 236
            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:()Ljakarta/ws/rs/core/MediaType;
        25: .line 237
            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:()Ljakarta/ws/rs/core/MultivaluedMap;
        26: .line 238
            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;
        27: .line 239
            aload 3 /* origStream */
        28: .line 243
            invokestatic java.util.Collections.emptyList:()Ljava/util/List;
        29: .line 231
            invokeinterface org.glassfish.jersey.message.MessageBodyWorkers.writeTo:(Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljakarta/ws/rs/core/MediaType;Ljakarta/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
        30: .line 246
            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 32
        31: .line 248
            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
        32: .line 252
      StackMap locals: java.io.OutputStream java.io.OutputStream
      StackMap stack:
            aload 4 /* writtenStream */
            invokevirtual java.io.OutputStream.flush:()V
        33: .line 254
            aload 3 /* origStream */
            aload 4 /* writtenStream */
            if_acmpeq 51
        34: .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.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
        35: .line 258
            goto 51
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object
      StackMap stack: java.io.IOException
        36: astore 3 /* ioe */
        start local 3 // java.io.IOException ioe
        37: .line 259
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.connectionCallback:Ljakarta/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 jakarta.ws.rs.container.ConnectionCallback.onDisconnect:(Ljakarta/ws/rs/container/AsyncResponse;)V
        38: .line 260
            aload 3 /* ioe */
            athrow
        end local 3 // java.io.IOException ioe
        39: .line 261
      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
        40: .line 262
            aload 3 /* mpe */
            invokevirtual org.glassfish.jersey.server.internal.process.MappableException.getCause:()Ljava/lang/Throwable;
            instanceof java.io.IOException
            ifeq 42
        41: .line 263
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            getfield org.glassfish.jersey.server.ChunkedOutput.connectionCallback:Ljakarta/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 jakarta.ws.rs.container.ConnectionCallback.onDisconnect:(Ljakarta/ws/rs/container/AsyncResponse;)V
        42: .line 265
      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
        43: .line 266
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object
      StackMap stack: java.lang.Throwable
            astore 5
        44: .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.lock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
        45: .line 268
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            iconst_0
            putfield org.glassfish.jersey.server.ChunkedOutput.touchingEntityStream:Z
        46: .line 267
            aload 6
            monitorexit
        47: goto 50
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object top top java.lang.Throwable java.lang.Object
      StackMap stack: java.lang.Throwable
        48: aload 6
            monitorexit
        49: athrow
        50: .line 270
      StackMap locals:
      StackMap stack:
            aload 5
            athrow
        51: .line 267
      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.lock:Ljava/lang/Object;
            dup
            astore 6
            monitorenter
        52: .line 268
            aload 0 /* this */
            getfield org.glassfish.jersey.server.ChunkedOutput$1.this$0:Lorg/glassfish/jersey/server/ChunkedOutput;
            iconst_0
            putfield org.glassfish.jersey.server.ChunkedOutput.touchingEntityStream:Z
        53: .line 267
            aload 6
            monitorexit
        54: goto 57
      StackMap locals: org.glassfish.jersey.server.ChunkedOutput$1 int java.lang.Object top top top java.lang.Object
      StackMap stack: java.lang.Throwable
        55: aload 6
            monitorexit
        56: athrow
        57: .line 272
      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.queue:Ljava/util/concurrent/BlockingDeque;
            invokeinterface java.util.concurrent.BlockingDeque.poll:()Ljava/lang/Object;
            astore 2 /* t */
        58: .line 273
            aload 2 /* t */
            ifnonnull 71
        59: .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.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
        60: .line 279
            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 */
        61: .line 280
            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 */
        62: .line 281
            aload 2 /* t */
            ifnonnull 67
        63: .line 286
            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
        64: .line 289
            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
        65: .line 290
            aload 3
            monitorexit
        66: goto 72
        67: .line 274
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 3
            monitorexit
        68: goto 71
      StackMap locals:
      StackMap stack: java.lang.Throwable
        69: aload 3
            monitorexit
        70: athrow
        71: .line 224
      StackMap locals:
      StackMap stack:
            aload 2 /* t */
            ifnonnull 12
        72: .line 295
      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   73     0           this  Lorg/glassfish/jersey/server/ChunkedOutput$1;
            5   10     1    shouldClose  Z
           12   73     1    shouldClose  Z
            6   10     2              t  TT;
           12   73     2              t  TT;
           19   35     3     origStream  Ljava/io/OutputStream;
           30   35     4  writtenStream  Ljava/io/OutputStream;
           37   39     3            ioe  Ljava/io/IOException;
           40   43     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
          13    15      16  any
          16    17      16  any
          12    35      36  Class java.io.IOException
          12    35      39  Class org.glassfish.jersey.server.internal.process.MappableException
          12    43      43  any
          45    47      48  any
          48    49      48  any
          52    54      55  any
          55    56      55  any
          60    66      69  any
          67    68      69  any
          69    70      69  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