public class org.jboss.resteasy.plugins.providers.IIOImageProvider extends org.jboss.resteasy.plugins.providers.AbstractEntityProvider<javax.imageio.IIOImage>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.plugins.providers.IIOImageProvider
  super_class: org.jboss.resteasy.plugins.providers.AbstractEntityProvider
{
  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.IIOImageProvider this
         0: .line 39
            aload 0 /* this */
            invokespecial org.jboss.resteasy.plugins.providers.AbstractEntityProvider.<init>:()V
            return
        end local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;

  public boolean isReadable(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.IIOImageProvider 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 68
            ldc Ljavax/imageio/IIOImage;
            aload 1 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            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.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;
            0    1     1         type  Ljava/lang/Class<*>;
            0    1     2  genericType  Ljava/lang/reflect/Type;
            0    1     3  annotations  [Ljava/lang/annotation/Annotation;
            0    1     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 javax.imageio.IIOImage readFrom(java.lang.Class<javax.imageio.IIOImage>, java.lang.reflect.Type, java.lang.annotation.Annotation[], javax.ws.rs.core.MediaType, javax.ws.rs.core.MultivaluedMap<java.lang.String, java.lang.String>, java.io.InputStream);
    descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap;Ljava/io/InputStream;)Ljavax/imageio/IIOImage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=11, args_size=7
        start local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider 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
        start local 5 // javax.ws.rs.core.MultivaluedMap httpHeaders
        start local 6 // java.io.InputStream entityStream
         0: .line 118
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            ldc "Provider : %s,  Method : readFrom"
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 119
            aload 4 /* mediaType */
            invokestatic org.jboss.resteasy.plugins.providers.IIOImageProviderHelper.getImageReaderByMediaType:(Ljavax/ws/rs/core/MediaType;)Ljavax/imageio/ImageReader;
            astore 7 /* reader */
        start local 7 // javax.imageio.ImageReader reader
         2: .line 122
            aload 6 /* entityStream */
            aload 7 /* reader */
            iconst_0
            invokestatic org.jboss.resteasy.plugins.providers.IIOImageProviderHelper.readImage:(Ljava/io/InputStream;Ljavax/imageio/ImageReader;I)Ljavax/imageio/IIOImage;
            astore 8 /* image */
        start local 8 // javax.imageio.IIOImage image
         3: .line 123
            aload 8 /* image */
            astore 10
         4: .line 127
            aload 7 /* reader */
            invokevirtual javax.imageio.ImageReader.dispose:()V
         5: .line 123
            aload 10
            areturn
        end local 8 // javax.imageio.IIOImage image
         6: .line 126
      StackMap locals: org.jboss.resteasy.plugins.providers.IIOImageProvider java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap java.io.InputStream javax.imageio.ImageReader
      StackMap stack: java.lang.Throwable
            astore 9
         7: .line 127
            aload 7 /* reader */
            invokevirtual javax.imageio.ImageReader.dispose:()V
         8: .line 128
            aload 9
            athrow
        end local 7 // javax.imageio.ImageReader reader
        end local 6 // java.io.InputStream entityStream
        end local 5 // javax.ws.rs.core.MultivaluedMap httpHeaders
        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.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;
            0    9     1          type  Ljava/lang/Class<Ljavax/imageio/IIOImage;>;
            0    9     2   genericType  Ljava/lang/reflect/Type;
            0    9     3   annotations  [Ljava/lang/annotation/Annotation;
            0    9     4     mediaType  Ljavax/ws/rs/core/MediaType;
            0    9     5   httpHeaders  Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;
            0    9     6  entityStream  Ljava/io/InputStream;
            2    9     7        reader  Ljavax/imageio/ImageReader;
            3    6     8         image  Ljavax/imageio/IIOImage;
      Exception table:
        from    to  target  type
           2     4       6  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/Class<Ljavax/imageio/IIOImage;>;Ljava/lang/reflect/Type;[Ljava/lang/annotation/Annotation;Ljavax/ws/rs/core/MediaType;Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/String;>;Ljava/io/InputStream;)Ljavax/imageio/IIOImage;
    MethodParameters:
              Name  Flags
      type          
      genericType   
      annotations   
      mediaType     
      httpHeaders   
      entityStream  

  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.IIOImageProvider 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 146
            ldc Ljavax/imageio/IIOImage;
            aload 1 /* type */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            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.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;
            0    1     1         type  Ljava/lang/Class<*>;
            0    1     2  genericType  Ljava/lang/reflect/Type;
            0    1     3  annotations  [Ljava/lang/annotation/Annotation;
            0    1     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 void writeTo(javax.imageio.IIOImage, 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: (Ljavax/imageio/IIOImage;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=5, locals=15, args_size=8
        start local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider this
        start local 1 // javax.imageio.IIOImage t
        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 176
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            ldc "Provider : %s,  Method : writeTo"
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 177
            aload 5 /* mediaType */
            invokestatic org.jboss.resteasy.plugins.providers.IIOImageProviderHelper.getImageWriterByMediaType:(Ljavax/ws/rs/core/MediaType;)Ljavax/imageio/ImageWriter;
            astore 8 /* writer */
        start local 8 // javax.imageio.ImageWriter writer
         2: .line 179
            aload 5 /* mediaType */
            ldc "image/jpeg"
            invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
            invokevirtual javax.ws.rs.core.MediaType.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 181
            new javax.imageio.plugins.jpeg.JPEGImageWriteParam
            dup
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
            astore 9 /* param */
        start local 9 // javax.imageio.ImageWriteParam param
         4: .line 182
            goto 6
        end local 9 // javax.imageio.ImageWriteParam param
         5: .line 185
      StackMap locals: javax.imageio.ImageWriter
      StackMap stack:
            aload 8 /* writer */
            invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 9 /* param */
        start local 9 // javax.imageio.ImageWriteParam param
         6: .line 192
      StackMap locals: javax.imageio.ImageWriteParam
      StackMap stack:
            aload 4 /* annotations */
         7: .line 193
            ldc Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
         8: .line 192
            invokestatic org.jboss.resteasy.spi.util.FindAnnotation.findAnnotation:([Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jboss.resteasy.annotations.providers.img.ImageWriterParams
            astore 10 /* writerParams */
        start local 10 // org.jboss.resteasy.annotations.providers.img.ImageWriterParams writerParams
         9: .line 194
            aload 10 /* writerParams */
            ifnull 16
        10: .line 196
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
            ifeq 19
        11: .line 198
            aload 10 /* writerParams */
            invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionMode:()I
            istore 11 /* cm */
        start local 11 // int cm
        12: .line 199
            aload 9 /* param */
            iload 11 /* cm */
            invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
        13: .line 200
            iconst_2
            iload 11 /* cm */
            if_icmpne 19
        14: .line 201
            aload 9 /* param */
            aload 10 /* writerParams */
            invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionQuality:()F
            invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
        end local 11 // int cm
        15: .line 204
            goto 19
        16: .line 205
      StackMap locals: org.jboss.resteasy.annotations.providers.img.ImageWriterParams
      StackMap stack:
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
            ifeq 19
        17: .line 207
            aload 9 /* param */
            iconst_2
            invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
        18: .line 208
            aload 9 /* param */
            fconst_1
            invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
        19: .line 210
      StackMap locals:
      StackMap stack:
            new java.io.BufferedOutputStream
            dup
            aload 7 /* entityStream */
            sipush 2048
            invokespecial java.io.BufferedOutputStream.<init>:(Ljava/io/OutputStream;I)V
            astore 11 /* buff */
        start local 11 // java.io.BufferedOutputStream buff
        20: .line 211
            aload 11 /* buff */
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            astore 12 /* ios */
        start local 12 // javax.imageio.stream.ImageOutputStream ios
        21: .line 214
            aload 8 /* writer */
            aload 12 /* ios */
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
        22: .line 215
            new javax.imageio.IIOImage
            dup
            aload 1 /* t */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            aconst_null
            aconst_null
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            astore 13 /* img */
        start local 13 // javax.imageio.IIOImage img
        23: .line 216
            aload 8 /* writer */
            aconst_null
            aload 13 /* img */
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        end local 13 // javax.imageio.IIOImage img
        24: .line 217
            goto 28
        25: .line 219
      StackMap locals: org.jboss.resteasy.plugins.providers.IIOImageProvider javax.imageio.IIOImage java.lang.Class java.lang.reflect.Type java.lang.annotation.Annotation[] javax.ws.rs.core.MediaType javax.ws.rs.core.MultivaluedMap java.io.OutputStream javax.imageio.ImageWriter javax.imageio.ImageWriteParam org.jboss.resteasy.annotations.providers.img.ImageWriterParams java.io.BufferedOutputStream javax.imageio.stream.ImageOutputStream
      StackMap stack: java.lang.Throwable
            astore 14
        26: .line 220
            aload 8 /* writer */
            invokevirtual javax.imageio.ImageWriter.dispose:()V
        27: .line 221
            aload 14
            athrow
        28: .line 220
      StackMap locals:
      StackMap stack:
            aload 8 /* writer */
            invokevirtual javax.imageio.ImageWriter.dispose:()V
        29: .line 222
            return
        end local 12 // javax.imageio.stream.ImageOutputStream ios
        end local 11 // java.io.BufferedOutputStream buff
        end local 10 // org.jboss.resteasy.annotations.providers.img.ImageWriterParams writerParams
        end local 9 // javax.imageio.ImageWriteParam param
        end local 8 // javax.imageio.ImageWriter writer
        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 // javax.imageio.IIOImage t
        end local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   30     0          this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;
            0   30     1             t  Ljavax/imageio/IIOImage;
            0   30     2          type  Ljava/lang/Class<*>;
            0   30     3   genericType  Ljava/lang/reflect/Type;
            0   30     4   annotations  [Ljava/lang/annotation/Annotation;
            0   30     5     mediaType  Ljavax/ws/rs/core/MediaType;
            0   30     6   httpHeaders  Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
            0   30     7  entityStream  Ljava/io/OutputStream;
            2   30     8        writer  Ljavax/imageio/ImageWriter;
            4    5     9         param  Ljavax/imageio/ImageWriteParam;
            6   30     9         param  Ljavax/imageio/ImageWriteParam;
            9   30    10  writerParams  Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
           12   15    11            cm  I
           20   30    11          buff  Ljava/io/BufferedOutputStream;
           21   30    12           ios  Ljavax/imageio/stream/ImageOutputStream;
           23   24    13           img  Ljavax/imageio/IIOImage;
      Exception table:
        from    to  target  type
          21    25      25  any
    Exceptions:
      throws java.io.IOException
    Signature: (Ljavax/imageio/IIOImage;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
      t             
      type          
      genericType   
      annotations   
      mediaType     
      httpHeaders   
      entityStream  

  public java.util.concurrent.CompletionStage<java.lang.Void> asyncWriteTo(javax.imageio.IIOImage, 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: (Ljavax/imageio/IIOImage;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=5, locals=14, args_size=8
        start local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider this
        start local 1 // javax.imageio.IIOImage t
        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 229
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.LOGGER:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/LogMessages;
            ldc "Provider : %s,  Method : writeTo"
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.LogMessages.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 230
            aload 5 /* mediaType */
            invokestatic org.jboss.resteasy.plugins.providers.IIOImageProviderHelper.getImageWriterByMediaType:(Ljavax/ws/rs/core/MediaType;)Ljavax/imageio/ImageWriter;
            astore 8 /* writer */
        start local 8 // javax.imageio.ImageWriter writer
         2: .line 232
            aload 5 /* mediaType */
            ldc "image/jpeg"
            invokestatic javax.ws.rs.core.MediaType.valueOf:(Ljava/lang/String;)Ljavax/ws/rs/core/MediaType;
            invokevirtual javax.ws.rs.core.MediaType.equals:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 234
            new javax.imageio.plugins.jpeg.JPEGImageWriteParam
            dup
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
            astore 9 /* param */
        start local 9 // javax.imageio.ImageWriteParam param
         4: .line 235
            goto 6
        end local 9 // javax.imageio.ImageWriteParam param
         5: .line 238
      StackMap locals: javax.imageio.ImageWriter
      StackMap stack:
            aload 8 /* writer */
            invokevirtual javax.imageio.ImageWriter.getDefaultWriteParam:()Ljavax/imageio/ImageWriteParam;
            astore 9 /* param */
        start local 9 // javax.imageio.ImageWriteParam param
         6: .line 245
      StackMap locals: javax.imageio.ImageWriteParam
      StackMap stack:
            aload 4 /* annotations */
         7: .line 246
            ldc Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
         8: .line 245
            invokestatic org.jboss.resteasy.spi.util.FindAnnotation.findAnnotation:([Ljava/lang/annotation/Annotation;Ljava/lang/Class;)Ljava/lang/Object;
            checkcast org.jboss.resteasy.annotations.providers.img.ImageWriterParams
            astore 10 /* writerParams */
        start local 10 // org.jboss.resteasy.annotations.providers.img.ImageWriterParams writerParams
         9: .line 247
            aload 10 /* writerParams */
            ifnull 16
        10: .line 249
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
            ifeq 19
        11: .line 251
            aload 10 /* writerParams */
            invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionMode:()I
            istore 11 /* cm */
        start local 11 // int cm
        12: .line 252
            aload 9 /* param */
            iload 11 /* cm */
            invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
        13: .line 253
            iconst_2
            iload 11 /* cm */
            if_icmpne 19
        14: .line 254
            aload 9 /* param */
            aload 10 /* writerParams */
            invokeinterface org.jboss.resteasy.annotations.providers.img.ImageWriterParams.compressionQuality:()F
            invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
        end local 11 // int cm
        15: .line 257
            goto 19
        16: .line 258
      StackMap locals: org.jboss.resteasy.annotations.providers.img.ImageWriterParams
      StackMap stack:
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriteParam.canWriteCompressed:()Z
            ifeq 19
        17: .line 260
            aload 9 /* param */
            iconst_2
            invokevirtual javax.imageio.ImageWriteParam.setCompressionMode:(I)V
        18: .line 261
            aload 9 /* param */
            fconst_1
            invokevirtual javax.imageio.ImageWriteParam.setCompressionQuality:(F)V
        19: .line 263
      StackMap locals:
      StackMap stack:
            new java.io.ByteArrayOutputStream
            dup
            sipush 2048
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 11 /* buff */
        start local 11 // java.io.ByteArrayOutputStream buff
        20: .line 266
            aload 11 /* buff */
            invokestatic javax.imageio.ImageIO.createImageOutputStream:(Ljava/lang/Object;)Ljavax/imageio/stream/ImageOutputStream;
            astore 12 /* ios */
        start local 12 // javax.imageio.stream.ImageOutputStream ios
        21: .line 267
            aload 8 /* writer */
            aload 12 /* ios */
            invokevirtual javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
        22: .line 268
            new javax.imageio.IIOImage
            dup
            aload 1 /* t */
            invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
            aconst_null
            aconst_null
            invokespecial javax.imageio.IIOImage.<init>:(Ljava/awt/image/RenderedImage;Ljava/util/List;Ljavax/imageio/metadata/IIOMetadata;)V
            astore 13 /* img */
        start local 13 // javax.imageio.IIOImage img
        23: .line 269
            aload 8 /* writer */
            aconst_null
            aload 13 /* img */
            aload 9 /* param */
            invokevirtual javax.imageio.ImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
        24: .line 270
            aload 7 /* entityStream */
            aload 11 /* buff */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            invokevirtual org.jboss.resteasy.spi.AsyncOutputStream.asyncWrite:([B)Ljava/util/concurrent/CompletionStage;
        25: .line 271
            aload 8 /* writer */
            invokedynamic accept(Ljavax/imageio/ImageWriter;)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/IIOImageProvider.lambda$0(Ljavax/imageio/ImageWriter;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;
        26: .line 270
            areturn
        end local 13 // javax.imageio.IIOImage img
        end local 12 // javax.imageio.stream.ImageOutputStream ios
        27: .line 272
      StackMap locals: org.jboss.resteasy.plugins.providers.IIOImageProvider javax.imageio.IIOImage 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 javax.imageio.ImageWriter javax.imageio.ImageWriteParam org.jboss.resteasy.annotations.providers.img.ImageWriterParams java.io.ByteArrayOutputStream
      StackMap stack: java.io.IOException
            astore 12 /* e */
        start local 12 // java.io.IOException e
        28: .line 274
            aload 12 /* e */
            invokestatic org.jboss.resteasy.plugins.providers.ProviderHelper.completedException:(Ljava/lang/Throwable;)Ljava/util/concurrent/CompletionStage;
            areturn
        end local 12 // java.io.IOException e
        end local 11 // java.io.ByteArrayOutputStream buff
        end local 10 // org.jboss.resteasy.annotations.providers.img.ImageWriterParams writerParams
        end local 9 // javax.imageio.ImageWriteParam param
        end local 8 // javax.imageio.ImageWriter writer
        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 // javax.imageio.IIOImage t
        end local 0 // org.jboss.resteasy.plugins.providers.IIOImageProvider this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   29     0          this  Lorg/jboss/resteasy/plugins/providers/IIOImageProvider;
            0   29     1             t  Ljavax/imageio/IIOImage;
            0   29     2          type  Ljava/lang/Class<*>;
            0   29     3   genericType  Ljava/lang/reflect/Type;
            0   29     4   annotations  [Ljava/lang/annotation/Annotation;
            0   29     5     mediaType  Ljavax/ws/rs/core/MediaType;
            0   29     6   httpHeaders  Ljavax/ws/rs/core/MultivaluedMap<Ljava/lang/String;Ljava/lang/Object;>;
            0   29     7  entityStream  Lorg/jboss/resteasy/spi/AsyncOutputStream;
            2   29     8        writer  Ljavax/imageio/ImageWriter;
            4    5     9         param  Ljavax/imageio/ImageWriteParam;
            6   29     9         param  Ljavax/imageio/ImageWriteParam;
            9   29    10  writerParams  Lorg/jboss/resteasy/annotations/providers/img/ImageWriterParams;
           12   15    11            cm  I
           20   29    11          buff  Ljava/io/ByteArrayOutputStream;
           21   27    12           ios  Ljavax/imageio/stream/ImageOutputStream;
           23   27    13           img  Ljavax/imageio/IIOImage;
           28   29    12             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          20    26      27  Class java.io.IOException
    Signature: (Ljavax/imageio/IIOImage;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
      t             
      type          
      genericType   
      annotations   
      mediaType     
      httpHeaders   
      entityStream  

  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 javax.imageio.IIOImage
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokevirtual org.jboss.resteasy.plugins.providers.IIOImageProvider.writeTo:(Ljavax/imageio/IIOImage;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 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 javax.imageio.IIOImage
            aload 2
            aload 3
            aload 4
            aload 5
            aload 6
            aload 7
            invokevirtual org.jboss.resteasy.plugins.providers.IIOImageProvider.asyncWriteTo:(Ljavax/imageio/IIOImage;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

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

  private static void lambda$0(javax.imageio.ImageWriter, java.lang.Void, java.lang.Throwable);
    descriptor: (Ljavax/imageio/ImageWriter;Ljava/lang/Void;Ljava/lang/Throwable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=3, args_size=3
        start local 1 // java.lang.Void v
        start local 2 // java.lang.Throwable x
         0: .line 271
            aload 0
            invokevirtual javax.imageio.ImageWriter.dispose:()V
            return
        end local 2 // java.lang.Throwable x
        end local 1 // java.lang.Void v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     v  Ljava/lang/Void;
            0    1     2     x  Ljava/lang/Throwable;
}
Signature: Lorg/jboss/resteasy/plugins/providers/AbstractEntityProvider<Ljavax/imageio/IIOImage;>;
SourceFile: "IIOImageProvider.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
    RuntimeVisibleAnnotations: 
      javax.ws.rs.ext.Provider()
      javax.ws.rs.Consumes(value = {"image/*"})
      javax.ws.rs.Produces(value = {"image/*"})