public class sun.awt.image.MultiResolutionToolkitImage extends sun.awt.image.ToolkitImage implements sun.awt.image.MultiResolutionImage
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.awt.image.MultiResolutionToolkitImage
  super_class: sun.awt.image.ToolkitImage
{
  java.awt.Image resolutionVariant;
    descriptor: Ljava/awt/Image;
    flags: (0x0000) 

  private static final int BITS_INFO;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 56

  public void <init>(java.awt.Image, java.awt.Image);
    descriptor: (Ljava/awt/Image;Ljava/awt/Image;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.awt.image.MultiResolutionToolkitImage this
        start local 1 // java.awt.Image lowResolutionImage
        start local 2 // java.awt.Image resolutionVariant
         0: .line 38
            aload 0 /* this */
            aload 1 /* lowResolutionImage */
            invokevirtual java.awt.Image.getSource:()Ljava/awt/image/ImageProducer;
            invokespecial sun.awt.image.ToolkitImage.<init>:(Ljava/awt/image/ImageProducer;)V
         1: .line 39
            aload 0 /* this */
            aload 2 /* resolutionVariant */
            putfield sun.awt.image.MultiResolutionToolkitImage.resolutionVariant:Ljava/awt/Image;
         2: .line 40
            return
        end local 2 // java.awt.Image resolutionVariant
        end local 1 // java.awt.Image lowResolutionImage
        end local 0 // sun.awt.image.MultiResolutionToolkitImage this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                this  Lsun/awt/image/MultiResolutionToolkitImage;
            0    3     1  lowResolutionImage  Ljava/awt/Image;
            0    3     2   resolutionVariant  Ljava/awt/Image;
    MethodParameters:
                    Name  Flags
      lowResolutionImage  
      resolutionVariant   

  public java.awt.Image getResolutionVariant(int, int);
    descriptor: (II)Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.awt.image.MultiResolutionToolkitImage this
        start local 1 // int width
        start local 2 // int height
         0: .line 44
            iload 1 /* width */
            aload 0 /* this */
            invokevirtual sun.awt.image.MultiResolutionToolkitImage.getWidth:()I
            if_icmpgt 2
            iload 2 /* height */
            aload 0 /* this */
            invokevirtual sun.awt.image.MultiResolutionToolkitImage.getHeight:()I
            if_icmpgt 2
         1: .line 45
            aload 0 /* this */
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield sun.awt.image.MultiResolutionToolkitImage.resolutionVariant:Ljava/awt/Image;
         3: .line 44
      StackMap locals:
      StackMap stack: java.awt.Image
            areturn
        end local 2 // int height
        end local 1 // int width
        end local 0 // sun.awt.image.MultiResolutionToolkitImage this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/awt/image/MultiResolutionToolkitImage;
            0    4     1   width  I
            0    4     2  height  I
    MethodParameters:
        Name  Flags
      width   
      height  

  public java.awt.Image getResolutionVariant();
    descriptor: ()Ljava/awt/Image;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.awt.image.MultiResolutionToolkitImage this
         0: .line 49
            aload 0 /* this */
            getfield sun.awt.image.MultiResolutionToolkitImage.resolutionVariant:Ljava/awt/Image;
            areturn
        end local 0 // sun.awt.image.MultiResolutionToolkitImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/MultiResolutionToolkitImage;

  public java.util.List<java.awt.Image> getResolutionVariants();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.awt.image.MultiResolutionToolkitImage this
         0: .line 54
            iconst_2
            anewarray java.awt.Image
            dup
            iconst_0
            aload 0 /* this */
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield sun.awt.image.MultiResolutionToolkitImage.resolutionVariant:Ljava/awt/Image;
            aastore
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // sun.awt.image.MultiResolutionToolkitImage this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/awt/image/MultiResolutionToolkitImage;
    Signature: ()Ljava/util/List<Ljava/awt/Image;>;

  public static java.awt.image.ImageObserver getResolutionVariantObserver(java.awt.Image, java.awt.image.ImageObserver, int, int, int, int);
    descriptor: (Ljava/awt/Image;Ljava/awt/image/ImageObserver;IIII)Ljava/awt/image/ImageObserver;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // java.awt.Image image
        start local 1 // java.awt.image.ImageObserver observer
        start local 2 // int imgWidth
        start local 3 // int imgHeight
        start local 4 // int rvWidth
        start local 5 // int rvHeight
         0: .line 69
            aload 0 /* image */
            aload 1 /* observer */
         1: .line 70
            iload 2 /* imgWidth */
            iload 3 /* imgHeight */
            iload 4 /* rvWidth */
            iload 5 /* rvHeight */
            iconst_0
         2: .line 69
            invokestatic sun.awt.image.MultiResolutionToolkitImage.getResolutionVariantObserver:(Ljava/awt/Image;Ljava/awt/image/ImageObserver;IIIIZ)Ljava/awt/image/ImageObserver;
            areturn
        end local 5 // int rvHeight
        end local 4 // int rvWidth
        end local 3 // int imgHeight
        end local 2 // int imgWidth
        end local 1 // java.awt.image.ImageObserver observer
        end local 0 // java.awt.Image image
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0      image  Ljava/awt/Image;
            0    3     1   observer  Ljava/awt/image/ImageObserver;
            0    3     2   imgWidth  I
            0    3     3  imgHeight  I
            0    3     4    rvWidth  I
            0    3     5   rvHeight  I
    MethodParameters:
           Name  Flags
      image      final
      observer   final
      imgWidth   final
      imgHeight  final
      rvWidth    final
      rvHeight   final

  public static java.awt.image.ImageObserver getResolutionVariantObserver(java.awt.Image, java.awt.image.ImageObserver, int, int, int, int, boolean);
    descriptor: (Ljava/awt/Image;Ljava/awt/image/ImageObserver;IIIIZ)Ljava/awt/image/ImageObserver;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=7
        start local 0 // java.awt.Image image
        start local 1 // java.awt.image.ImageObserver observer
        start local 2 // int imgWidth
        start local 3 // int imgHeight
        start local 4 // int rvWidth
        start local 5 // int rvHeight
        start local 6 // boolean concatenateInfo
         0: .line 78
            aload 1 /* observer */
            ifnonnull 2
         1: .line 79
            aconst_null
            areturn
         2: .line 82
      StackMap locals:
      StackMap stack:
            getstatic sun.awt.image.MultiResolutionToolkitImage$ObserverCache.INSTANCE:Lsun/misc/SoftCache;
            dup
            astore 7
            monitorenter
         3: .line 83
            getstatic sun.awt.image.MultiResolutionToolkitImage$ObserverCache.INSTANCE:Lsun/misc/SoftCache;
            aload 1 /* observer */
            invokevirtual sun.misc.SoftCache.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.awt.image.ImageObserver
            astore 8 /* o */
        start local 8 // java.awt.image.ImageObserver o
         4: .line 85
            aload 8 /* o */
            ifnonnull 7
         5: .line 87
            iload 6 /* concatenateInfo */
            aload 0 /* image */
            aload 1 /* observer */
            invokedynamic imageUpdate(ZLjava/awt/Image;Ljava/awt/image/ImageObserver;)Ljava/awt/image/ImageObserver;
              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/awt/Image;IIIII)Z
                  sun/awt/image/MultiResolutionToolkitImage.lambda$0(ZLjava/awt/Image;Ljava/awt/image/ImageObserver;Ljava/awt/Image;IIIII)Z (6)
                  (Ljava/awt/Image;IIIII)Z
            astore 8 /* o */
         6: .line 112
            getstatic sun.awt.image.MultiResolutionToolkitImage$ObserverCache.INSTANCE:Lsun/misc/SoftCache;
            aload 1 /* observer */
            aload 8 /* o */
            invokevirtual sun.misc.SoftCache.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 114
      StackMap locals: sun.misc.SoftCache java.awt.image.ImageObserver
      StackMap stack:
            aload 8 /* o */
            aload 7
            monitorexit
         8: areturn
        end local 8 // java.awt.image.ImageObserver o
         9: .line 82
      StackMap locals: java.awt.Image java.awt.image.ImageObserver int int int int int sun.misc.SoftCache
      StackMap stack: java.lang.Throwable
            aload 7
            monitorexit
        10: athrow
        end local 6 // boolean concatenateInfo
        end local 5 // int rvHeight
        end local 4 // int rvWidth
        end local 3 // int imgHeight
        end local 2 // int imgWidth
        end local 1 // java.awt.image.ImageObserver observer
        end local 0 // java.awt.Image image
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0            image  Ljava/awt/Image;
            0   11     1         observer  Ljava/awt/image/ImageObserver;
            0   11     2         imgWidth  I
            0   11     3        imgHeight  I
            0   11     4          rvWidth  I
            0   11     5         rvHeight  I
            0   11     6  concatenateInfo  Z
            4    9     8                o  Ljava/awt/image/ImageObserver;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    MethodParameters:
                 Name  Flags
      image            final
      observer         final
      imgWidth         final
      imgHeight        final
      rvWidth          final
      rvHeight         final
      concatenateInfo  

  private static boolean lambda$0(boolean, java.awt.Image, java.awt.image.ImageObserver, java.awt.Image, int, int, int, int, int);
    descriptor: (ZLjava/awt/Image;Ljava/awt/image/ImageObserver;Ljava/awt/Image;IIIII)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=9, args_size=9
        start local 3 // java.awt.Image resolutionVariant
        start local 4 // int flags
        start local 5 // int x
        start local 6 // int y
        start local 7 // int width
        start local 8 // int height
         0: .line 90
            iload 4 /* flags */
            bipush 57
            iand
            ifeq 2
         1: .line 91
            iload 7 /* width */
            iconst_1
            iadd
            iconst_2
            idiv
            istore 7 /* width */
         2: .line 94
      StackMap locals:
      StackMap stack:
            iload 4 /* flags */
            bipush 58
            iand
            ifeq 4
         3: .line 95
            iload 8 /* height */
            iconst_1
            iadd
            iconst_2
            idiv
            istore 8 /* height */
         4: .line 98
      StackMap locals:
      StackMap stack:
            iload 4 /* flags */
            bipush 56
            iand
            ifeq 7
         5: .line 99
            iload 5 /* x */
            iconst_2
            idiv
            istore 5 /* x */
         6: .line 100
            iload 6 /* y */
            iconst_2
            idiv
            istore 6 /* y */
         7: .line 103
      StackMap locals:
      StackMap stack:
            iload 0
            ifeq 10
         8: .line 104
            iload 4 /* flags */
            aload 1
            checkcast sun.awt.image.ToolkitImage
         9: .line 105
            invokevirtual sun.awt.image.ToolkitImage.getImageRep:()Lsun/awt/image/ImageRepresentation;
            aconst_null
            invokevirtual sun.awt.image.ImageRepresentation.check:(Ljava/awt/image/ImageObserver;)I
            iand
            istore 4 /* flags */
        10: .line 108
      StackMap locals:
      StackMap stack:
            aload 2
        11: .line 109
            aload 1
            iload 4 /* flags */
            iload 5 /* x */
            iload 6 /* y */
            iload 7 /* width */
            iload 8 /* height */
        12: .line 108
            invokeinterface java.awt.image.ImageObserver.imageUpdate:(Ljava/awt/Image;IIIII)Z
            ireturn
        end local 8 // int height
        end local 7 // int width
        end local 6 // int y
        end local 5 // int x
        end local 4 // int flags
        end local 3 // java.awt.Image resolutionVariant
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   13     3  resolutionVariant  Ljava/awt/Image;
            0   13     4              flags  I
            0   13     5                  x  I
            0   13     6                  y  I
            0   13     7              width  I
            0   13     8             height  I
}
SourceFile: "MultiResolutionToolkitImage.java"
NestMembers:
  sun.awt.image.MultiResolutionToolkitImage$ObserverCache
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private ObserverCache = sun.awt.image.MultiResolutionToolkitImage$ObserverCache of sun.awt.image.MultiResolutionToolkitImage