public class org.jboss.resteasy.plugins.providers.FileRangeWriter implements org.jboss.resteasy.spi.AsyncMessageBodyWriter<org.jboss.resteasy.plugins.providers.FileRange>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.plugins.providers.FileRangeWriter
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
         0: .line 27
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;

  public boolean isWriteable(java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
        start local 1 // java.lang.Class type
        start local 2 // java.lang.reflect.Type genericType
        start local 3 // java.lang.annotation.Annotation[] annotations
        start local 4 // javax.ws.rs.core.MediaType mediaType
         0: .line 32
            aload 1 /* type */
            ldc Lorg/jboss/resteasy/plugins/providers/FileRange;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 1
            aload 4 /* mediaType */
            invokestatic org.jboss.resteasy.util.MediaTypeHelper.isBlacklisted:(Ljavax/ws/rs/core/MediaType;)Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 4 // javax.ws.rs.core.MediaType mediaType
        end local 3 // java.lang.annotation.Annotation[] annotations
        end local 2 // java.lang.reflect.Type genericType
        end local 1 // java.lang.Class type
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;
            0    2     1         type  Ljava/lang/Class<*>;
            0    2     2  genericType  Ljava/lang/reflect/Type;
            0    2     3  annotations  [Ljava/lang/annotation/Annotation;
            0    2     4    mediaType  Ljavax/ws/rs/core/MediaType;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)Z
    MethodParameters:
             Name  Flags
      type         
      genericType  
      annotations  
      mediaType    

  public long getSize(org.jboss.resteasy.plugins.providers.FileRange, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType);
    descriptor: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
        start local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        start local 2 // java.lang.Class type
        start local 3 // java.lang.reflect.Type genericType
        start local 4 // java.lang.annotation.Annotation[] annotations
        start local 5 // javax.ws.rs.core.MediaType mediaType
         0: .line 38
            ldc -1
            lreturn
        end local 5 // javax.ws.rs.core.MediaType mediaType
        end local 4 // java.lang.annotation.Annotation[] annotations
        end local 3 // java.lang.reflect.Type genericType
        end local 2 // java.lang.Class type
        end local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;
            0    1     1    fileRange  Lorg/jboss/resteasy/plugins/providers/FileRange;
            0    1     2         type  Ljava/lang/Class<*>;
            0    1     3  genericType  Ljava/lang/reflect/Type;
            0    1     4  annotations  [Ljava/lang/annotation/Annotation;
            0    1     5    mediaType  Ljavax/ws/rs/core/MediaType;
    Signature: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)J
    MethodParameters:
             Name  Flags
      fileRange    
      type         
      genericType  
      annotations  
      mediaType    

  public void writeTo(org.jboss.resteasy.plugins.providers.FileRange, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, java.io.OutputStream);
    descriptor: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=18, args_size=8
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
        start local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        start local 2 // java.lang.Class type
        start local 3 // java.lang.reflect.Type genericType
        start local 4 // java.lang.annotation.Annotation[] annotations
        start local 5 // javax.ws.rs.core.MediaType mediaType
        start local 6 // javax.ws.rs.core.MultivaluedMap httpHeaders
        start local 7 // java.io.OutputStream entityStream
         0: .line 44
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lstore 8 /* fileSize */
        start local 8 // long fileSize
         1: .line 45
            new java.lang.StringBuilder
            dup
            ldc "bytes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getEnd:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 8 /* fileSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* contentRange */
        start local 10 // java.lang.String contentRange
         2: .line 46
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getEnd:()J
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            lsub
            lconst_1
            ladd
            lstore 11 /* length */
        start local 11 // long length
         3: .line 47
            aload 6 /* httpHeaders */
            ldc "Content-Range"
            aload 10 /* contentRange */
            invokeinterface javax.ws.rs.core.MultivaluedMap.putSingle:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 48
            aload 6 /* httpHeaders */
            ldc "Content-Length"
            lload 11 /* length */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface javax.ws.rs.core.MultivaluedMap.putSingle:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 49
            new java.io.FileInputStream
            dup
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getFile:()Ljava/io/File;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 13 /* fis */
        start local 13 // java.io.FileInputStream fis
         6: .line 52
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            lconst_0
            lcmp
            ifle 8
         7: .line 54
            aload 13 /* fis */
            invokevirtual java.io.FileInputStream.getChannel:()Ljava/nio/channels/FileChannel;
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
         8: .line 56
      StackMap locals: org.jboss.resteasy.plugins.providers.FileRangeWriter org.jboss.resteasy.plugins.providers.FileRange java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap java.io.OutputStream long java.lang.String long java.io.FileInputStream
      StackMap stack:
            sipush 2048
            newarray 8
            astore 14 /* buf */
        start local 14 // byte[] buf
         9: .line 57
            goto 18
        10: .line 59
      StackMap locals: byte[]
      StackMap stack:
            ldc 2048
            lload 11 /* length */
            lcmp
            ifle 11
            lload 11 /* length */
            l2i
            goto 12
      StackMap locals:
      StackMap stack:
        11: sipush 2048
      StackMap locals:
      StackMap stack: int
        12: istore 15 /* len */
        start local 15 // int len
        13: .line 60
            aload 13 /* fis */
            aload 14 /* buf */
            iconst_0
            iload 15 /* len */
            invokevirtual java.io.FileInputStream.read:([BII)I
            istore 16 /* read */
        start local 16 // int read
        14: .line 61
            iload 16 /* read */
            iconst_m1
            if_icmpne 16
        15: .line 63
            goto 23
        16: .line 65
      StackMap locals: int int
      StackMap stack:
            aload 7 /* entityStream */
            aload 14 /* buf */
            iconst_0
            iload 16 /* read */
            invokevirtual java.io.OutputStream.write:([BII)V
        17: .line 66
            lload 11 /* length */
            iload 15 /* len */
            i2l
            lsub
            lstore 11 /* length */
        end local 16 // int read
        end local 15 // int len
        18: .line 57
      StackMap locals:
      StackMap stack:
            lload 11 /* length */
            lconst_0
            lcmp
            ifgt 10
        end local 14 // byte[] buf
        19: .line 68
            goto 23
        20: .line 70
      StackMap locals: org.jboss.resteasy.plugins.providers.FileRangeWriter org.jboss.resteasy.plugins.providers.FileRange java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap java.io.OutputStream long java.lang.String long java.io.FileInputStream
      StackMap stack: java.lang.Throwable
            astore 17
        21: .line 71
            aload 13 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        22: .line 72
            aload 17
            athrow
        23: .line 71
      StackMap locals:
      StackMap stack:
            aload 13 /* fis */
            invokevirtual java.io.FileInputStream.close:()V
        24: .line 74
            return
        end local 13 // java.io.FileInputStream fis
        end local 11 // long length
        end local 10 // java.lang.String contentRange
        end local 8 // long fileSize
        end local 7 // java.io.OutputStream entityStream
        end local 6 // javax.ws.rs.core.MultivaluedMap httpHeaders
        end local 5 // javax.ws.rs.core.MediaType mediaType
        end local 4 // java.lang.annotation.Annotation[] annotations
        end local 3 // java.lang.reflect.Type genericType
        end local 2 // java.lang.Class type
        end local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0          this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;
            0   25     1     fileRange  Lorg/jboss/resteasy/plugins/providers/FileRange;
            0   25     2          type  Ljava/lang/Class<*>;
            0   25     3   genericType  Ljava/lang/reflect/Type;
            0   25     4   annotations  [Ljava/lang/annotation/Annotation;
            0   25     5     mediaType  Ljavax/ws/rs/core/MediaType;
            0   25     6   httpHeaders  Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
            0   25     7  entityStream  Ljava/io/OutputStream;
            1   25     8      fileSize  J
            2   25    10  contentRange  Ljava/lang/String;
            3   25    11        length  J
            6   25    13           fis  Ljava/io/FileInputStream;
            9   19    14           buf  [B
           13   18    15           len  I
           14   18    16          read  I
      Exception table:
        from    to  target  type
           6    20      20  any
    Exceptions:
      throws java.io.IOException, javax.ws.rs.WebApplicationException
    Signature: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;Ljava/io/OutputStream;)V
    MethodParameters:
              Name  Flags
      fileRange     
      type          
      genericType   
      annotations   
      mediaType     
      httpHeaders   
      entityStream  

  public java.util.concurrent.CompletionStage<java.lang.Void> asyncWriteTo(org.jboss.resteasy.plugins.providers.FileRange, java.lang.Class<?>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.Object>, org.jboss.resteasy.spi.AsyncOutputStream);
    descriptor: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=8
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
        start local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        start local 2 // java.lang.Class type
        start local 3 // java.lang.reflect.Type genericType
        start local 4 // java.lang.annotation.Annotation[] annotations
        start local 5 // javax.ws.rs.core.MediaType mediaType
        start local 6 // javax.ws.rs.core.MultivaluedMap httpHeaders
        start local 7 // org.jboss.resteasy.spi.AsyncOutputStream entityStream
         0: .line 81
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getFile:()Ljava/io/File;
            invokevirtual java.io.File.length:()J
            lstore 8 /* fileSize */
        start local 8 // long fileSize
         1: .line 82
            new java.lang.StringBuilder
            dup
            ldc "bytes "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getEnd:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 8 /* fileSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* contentRange */
        start local 10 // java.lang.String contentRange
         2: .line 83
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getEnd:()J
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            lsub
            lconst_1
            ladd
            lstore 11 /* length */
        start local 11 // long length
         3: .line 84
            aload 6 /* httpHeaders */
            ldc "Content-Range"
            aload 10 /* contentRange */
            invokeinterface javax.ws.rs.core.MultivaluedMap.putSingle:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 85
            aload 6 /* httpHeaders */
            ldc "Content-Length"
            lload 11 /* length */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokeinterface javax.ws.rs.core.MultivaluedMap.putSingle:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 88
            new java.io.FileInputStream
            dup
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getFile:()Ljava/io/File;
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 13 /* fis */
        start local 13 // java.io.FileInputStream fis
         6: .line 89
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            lconst_0
            lcmp
            ifle 8
         7: .line 91
            aload 13 /* fis */
            invokevirtual java.io.FileInputStream.getChannel:()Ljava/nio/channels/FileChannel;
            aload 1 /* fileRange */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRange.getBegin:()J
            invokevirtual java.nio.channels.FileChannel.position:(J)Ljava/nio/channels/FileChannel;
            pop
         8: .line 93
      StackMap locals: org.jboss.resteasy.plugins.providers.FileRangeWriter org.jboss.resteasy.plugins.providers.FileRange java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap org.jboss.resteasy.spi.AsyncOutputStream long java.lang.String long java.io.FileInputStream
      StackMap stack:
            sipush 2048
            newarray 8
            astore 14 /* buf */
        start local 14 // byte[] buf
         9: .line 94
            aload 0 /* this */
            aload 13 /* fis */
            lload 11 /* length */
            aload 7 /* entityStream */
            aload 14 /* buf */
            invokevirtual org.jboss.resteasy.plugins.providers.FileRangeWriter.writeTo:(Ljava/io/FileInputStream;JLorg/jboss/resteasy/spi/AsyncOutputStream;[B)Ljava/util/concurrent/CompletionStage;
        10: .line 95
            aload 13 /* fis */
            invokedynamic accept(Ljava/io/FileInputStream;)Ljava/util/function/BiConsumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)V
                  org/jboss/resteasy/plugins/providers/FileRangeWriter.lambda$0(Ljava/io/FileInputStream;Ljava/lang/Void;Ljava/lang/Throwable;)V (6)
                  (Ljava/lang/Void;Ljava/lang/Throwable;)V
            invokeinterface java.util.concurrent.CompletionStage.whenComplete:(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
        11: .line 94
            areturn
        end local 14 // byte[] buf
        end local 13 // java.io.FileInputStream fis
        12: .line 104
      StackMap locals: org.jboss.resteasy.plugins.providers.FileRangeWriter org.jboss.resteasy.plugins.providers.FileRange java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap org.jboss.resteasy.spi.AsyncOutputStream long java.lang.String long
      StackMap stack: java.io.IOException
            astore 13 /* e */
        start local 13 // java.io.IOException e
        13: .line 106
            aload 13 /* e */
            invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.completedException:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;
            areturn
        end local 13 // java.io.IOException e
        end local 11 // long length
        end local 10 // java.lang.String contentRange
        end local 8 // long fileSize
        end local 7 // org.jboss.resteasy.spi.AsyncOutputStream entityStream
        end local 6 // javax.ws.rs.core.MultivaluedMap httpHeaders
        end local 5 // javax.ws.rs.core.MediaType mediaType
        end local 4 // java.lang.annotation.Annotation[] annotations
        end local 3 // java.lang.reflect.Type genericType
        end local 2 // java.lang.Class type
        end local 1 // org.jboss.resteasy.plugins.providers.FileRange fileRange
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0          this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;
            0   14     1     fileRange  Lorg/jboss/resteasy/plugins/providers/FileRange;
            0   14     2          type  Ljava/lang/Class<*>;
            0   14     3   genericType  Ljava/lang/reflect/Type;
            0   14     4   annotations  [Ljava/lang/annotation/Annotation;
            0   14     5     mediaType  Ljavax/ws/rs/core/MediaType;
            0   14     6   httpHeaders  Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
            0   14     7  entityStream  Lorg/jboss/resteasy/spi/AsyncOutputStream;
            1   14     8      fileSize  J
            2   14    10  contentRange  Ljava/lang/String;
            3   14    11        length  J
            6   12    13           fis  Ljava/io/FileInputStream;
            9   12    14           buf  [B
           13   14    13             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           5    11      12  Class java.io.IOException
    Signature: (Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class<*>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage<Ljava/lang/Void;>;
    MethodParameters:
              Name  Flags
      fileRange     
      type          
      genericType   
      annotations   
      mediaType     
      httpHeaders   
      entityStream  

  private java.util.concurrent.CompletionStage<java.lang.Void> writeTo(java.io.FileInputStream, long, org.jboss.resteasy.spi.AsyncOutputStream, byte[]);
    descriptor: (Ljava/io/FileInputStream;JLorg/jboss/resteasy/spi/AsyncOutputStream;[B)Ljava/util/concurrent/CompletionStage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=5
        start local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
        start local 1 // java.io.FileInputStream fis
        start local 2 // long length
        start local 4 // org.jboss.resteasy.spi.AsyncOutputStream entityStream
        start local 5 // byte[] buf
         0: .line 112
            lload 2 /* length */
            lconst_0
            lcmp
            ifle 8
         1: .line 113
            iconst_1
            newarray 11
            dup
            iconst_0
            lload 2 /* length */
            lastore
            astore 6 /* mutableLength */
        start local 6 // long[] mutableLength
         2: .line 115
            invokedynamic test()Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/jboss/resteasy/plugins/providers/FileRangeWriter.lambda$1(Ljava/lang/Integer;)Z (6)
                  (Ljava/lang/Integer;)Z
         3: .line 116
            aload 6 /* mutableLength */
            aload 1 /* fis */
            aload 5 /* buf */
            aload 4 /* entityStream */
            invokedynamic apply([JLjava/io/FileInputStream;[BLorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jboss/resteasy/plugins/providers/FileRangeWriter.lambda$2([JLjava/io/FileInputStream;[BLorg/jboss/resteasy/spi/AsyncOutputStream;Ljava/lang/Integer;)Ljava/util/concurrent/CompletionStage; (6)
                  (Ljava/lang/Integer;)Ljava/util/concurrent/CompletionStage;
         4: .line 124
            aload 1 /* fis */
            aload 5 /* buf */
            iconst_0
            aload 5 /* buf */
            arraylength
            i2l
            aload 6 /* mutableLength */
            iconst_0
            laload
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.asyncRead:(Ljava/io/InputStream;[BII)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
         5: .line 114
            invokestatic com.ibm.asyncutil.iteration.AsyncTrampoline.asyncWhile:(Ljava/util/function/Predicate;Ljava/util/function/Function;Ljava/lang/Object;)Ljava/util/concurrent/CompletionStage;
         6: .line 125
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jboss/resteasy/plugins/providers/FileRangeWriter.lambda$4(Ljava/lang/Integer;)Ljava/lang/Void; (6)
                  (Ljava/lang/Integer;)Ljava/lang/Void;
            invokeinterface java.util.concurrent.CompletionStage.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
         7: .line 114
            areturn
        end local 6 // long[] mutableLength
         8: .line 127
      StackMap locals:
      StackMap stack:
            aconst_null
            invokestatic java.util.concurrent.CompletableFuture.completedFuture:(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
            areturn
        end local 5 // byte[] buf
        end local 4 // org.jboss.resteasy.spi.AsyncOutputStream entityStream
        end local 2 // long length
        end local 1 // java.io.FileInputStream fis
        end local 0 // org.jboss.resteasy.plugins.providers.FileRangeWriter this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/jboss/resteasy/plugins/providers/FileRangeWriter;
            0    9     1            fis  Ljava/io/FileInputStream;
            0    9     2         length  J
            0    9     4   entityStream  Lorg/jboss/resteasy/spi/AsyncOutputStream;
            0    9     5            buf  [B
            2    8     6  mutableLength  [J
    Signature: (Ljava/io/FileInputStream;JLorg/jboss/resteasy/spi/AsyncOutputStream;[B)Ljava/util/concurrent/CompletionStage<Ljava/lang/Void;>;
    MethodParameters:
              Name  Flags
      fis           
      length        
      entityStream  
      buf           

  public void writeTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, java.io.OutputStream);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=8, locals=8, args_size=8
         0: .line 1
            aload 0
            aload 1
            checkcast org.jboss.resteasy.plugins.providers.FileRange
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokevirtual org.jboss.resteasy.plugins.providers.FileRangeWriter.writeTo:(Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/OutputStream;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Exceptions:
      throws java.io.IOException, javax.ws.rs.WebApplicationException

  public long getSize(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType);
    descriptor: (Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)J
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=6, locals=6, args_size=6
         0: .line 1
            aload 0
            aload 1
            checkcast org.jboss.resteasy.plugins.providers.FileRange
            aload 2
            aload 3
            aload 4
            aload 5
            invokevirtual org.jboss.resteasy.plugins.providers.FileRangeWriter.getSize:(Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;)J
            lreturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.util.concurrent.CompletionStage asyncWriteTo(java.lang.Object, java.lang.Class, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap, org.jboss.resteasy.spi.AsyncOutputStream);
    descriptor: (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/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=8, locals=8, args_size=8
         0: .line 1
            aload 0
            aload 1
            checkcast org.jboss.resteasy.plugins.providers.FileRange
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokevirtual org.jboss.resteasy.plugins.providers.FileRangeWriter.asyncWriteTo:(Lorg/jboss/resteasy/plugins/providers/FileRange;Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Lorg/jboss/resteasy/spi/AsyncOutputStream;)Ljava/util/concurrent/CompletionStage;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$0(java.io.FileInputStream, java.lang.Void, java.lang.Throwable);
    descriptor: (Ljava/io/FileInputStream;Ljava/lang/Void;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=4, args_size=3
        start local 1 // java.lang.Void v
        start local 2 // java.lang.Throwable t
         0: .line 98
            aload 0
            invokevirtual java.io.FileInputStream.close:()V
         1: .line 99
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 3 /* e */
        start local 3 // java.io.IOException e
         3: .line 101
            new java.lang.RuntimeException
            dup
            aload 3 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.io.IOException e
         4: .line 103
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Throwable t
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     1     v  Ljava/lang/Void;
            0    5     2     t  Ljava/lang/Throwable;
            3    4     3     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  private static boolean lambda$1(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Integer read
         0: .line 115
            aload 0 /* read */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_m1
            if_icmpeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // java.lang.Integer read
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  read  Ljava/lang/Integer;

  private static java.util.concurrent.CompletionStage lambda$2(long[], java.io.FileInputStream, byte[], org.jboss.resteasy.spi.AsyncOutputStream, java.lang.Integer);
    descriptor: ([JLjava/io/FileInputStream;[BLorg/jboss/resteasy/spi/AsyncOutputStream;Ljava/lang/Integer;)Ljava/util/concurrent/CompletionStage;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=5, locals=5, args_size=5
        start local 4 // java.lang.Integer read
         0: .line 116
            aload 3
            aload 2
            iconst_0
            aload 4 /* read */
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual org.jboss.resteasy.spi.AsyncOutputStream.asyncWrite:([BII)Ljava/util/concurrent/CompletionStage;
         1: .line 117
            aload 0
            aload 4 /* read */
            aload 1
            aload 2
            invokedynamic apply([JLjava/lang/Integer;Ljava/io/FileInputStream;[B)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  org/jboss/resteasy/plugins/providers/FileRangeWriter.lambda$3([JLjava/lang/Integer;Ljava/io/FileInputStream;[BLjava/lang/Void;)Ljava/lang/Integer; (6)
                  (Ljava/lang/Void;)Ljava/lang/Integer;
            invokeinterface java.util.concurrent.CompletionStage.thenApply:(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
         2: .line 123
            areturn
        end local 4 // java.lang.Integer read
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     4  read  Ljava/lang/Integer;

  private static java.lang.Void lambda$4(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Integer v
         0: .line 125
            aconst_null
            areturn
        end local 0 // java.lang.Integer v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  Ljava/lang/Integer;

  private static java.lang.Integer lambda$3(long[], java.lang.Integer, java.io.FileInputStream, byte[], java.lang.Void);
    descriptor: ([JLjava/lang/Integer;Ljava/io/FileInputStream;[BLjava/lang/Void;)Ljava/lang/Integer;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=5, args_size=5
        start local 4 // java.lang.Void v
         0: .line 118
            aload 0
            iconst_0
            dup2
            laload
            aload 1
            invokevirtual java.lang.Integer.intValue:()I
            i2l
            lsub
            lastore
         1: .line 119
            aload 0
            iconst_0
            laload
            lconst_0
            lcmp
            ifle 3
         2: .line 120
            aload 2
            aload 3
            iconst_0
            aload 3
            arraylength
            i2l
            aload 0
            iconst_0
            laload
            invokestatic java.lang.Math.min:(JJ)J
            l2i
            invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.asyncRead:(Ljava/io/InputStream;[BII)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
         3: .line 122
      StackMap locals:
      StackMap stack:
            iconst_m1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            areturn
        end local 4 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     4     v  Ljava/lang/Void;
}
Signature: Ljava/lang/Object;Lorg/jboss/resteasy/spi/AsyncMessageBodyWriter<Lorg/jboss/resteasy/plugins/providers/FileRange;>;
SourceFile: "FileRangeWriter.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      javax.ws.rs.ext.Provider()