public final class apple.laf.JRSUIControl
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: apple.laf.JRSUIControl
  super_class: java.lang.Object
{
  private static final int INCOHERENT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

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

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

  private static final int NULL_PTR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final int NULL_CG_REF;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -2

  private static int nativeJRSInitialized;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

  private static final java.lang.ThreadLocal<apple.laf.JRSUIControl$ThreadLocalByteBuffer> threadLocal;
    descriptor: Ljava/lang/ThreadLocal;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/ThreadLocal<Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;>;

  private final java.util.HashMap<apple.laf.JRSUIConstants$Key, apple.laf.JRSUIConstants$DoubleValue> nativeMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Lapple/laf/JRSUIConstants$Key;Lapple/laf/JRSUIConstants$DoubleValue;>;

  private final java.util.HashMap<apple.laf.JRSUIConstants$Key, apple.laf.JRSUIConstants$DoubleValue> changes;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Lapple/laf/JRSUIConstants$Key;Lapple/laf/JRSUIConstants$DoubleValue;>;

  private long cfDictionaryPtr;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long priorEncodedProperties;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long currentEncodedProperties;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private final boolean flipped;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 61
            iconst_1
            putstatic apple.laf.JRSUIControl.nativeJRSInitialized:I
         1: .line 82
            new java.lang.ThreadLocal
            dup
            invokespecial java.lang.ThreadLocal.<init>:()V
            putstatic apple.laf.JRSUIControl.threadLocal:Ljava/lang/ThreadLocal;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native int initNativeJRSUI();
    descriptor: ()I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private static native long getPtrOfBuffer(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      byteBuffer  

  private static native long getCFDictionary(boolean);
    descriptor: (Z)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
         Name  Flags
      flipped  

  private static native void disposeCFDictionary(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cfDictionaryPtr  

  private static native int syncChanges(long, long);
    descriptor: (JJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cfDictionaryPtr  
      byteBufferPtr    

  private static native int paintToCGContext(long, long, long, long, double, double, double, double);
    descriptor: (JJJJDDDD)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cgContext        
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                

  private static native int paintChangesToCGContext(long, long, long, long, double, double, double, double, long);
    descriptor: (JJJJDDDDJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cgContext        
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                
      byteBufferPtr    

  private static native int paintImage(int[], int, int, long, long, long, double, double, double, double);
    descriptor: ([IIIJJJDDDD)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      data             
      imgW             
      imgH             
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                

  private static native int paintChangesImage(int[], int, int, long, long, long, double, double, double, double, long);
    descriptor: ([IIIJJJDDDDJ)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      data             
      imgW             
      imgH             
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                
      byteBufferPtr    

  private static native int getNativeHitPart(long, long, long, double, double, double, double, double, double);
    descriptor: (JJJDDDDDD)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                
      hitX             
      hitY             

  private static native void getNativePartBounds(double[], long, long, long, double, double, double, double, int);
    descriptor: ([DJJJDDDDI)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      rect             final
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                
      part             

  private static native double getNativeScrollBarOffsetChange(long, long, long, double, double, double, double, int, int, int);
    descriptor: (JJJDDDDIII)D
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
                 Name  Flags
      cfDictionaryPtr  
      oldProperties    
      newProperties    
      x                
      y                
      w                
      h                
      offset           
      visibleAmount    
      extent           

  public static void initJRSUI();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 65
            getstatic apple.laf.JRSUIControl.nativeJRSInitialized:I
            ifne 1
            return
         1: .line 66
      StackMap locals:
      StackMap stack:
            invokestatic apple.laf.JRSUIControl.initNativeJRSUI:()I
            putstatic apple.laf.JRSUIControl.nativeJRSInitialized:I
         2: .line 67
            getstatic apple.laf.JRSUIControl.nativeJRSInitialized:I
            ifeq 3
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI could not be initialized ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic apple.laf.JRSUIControl.nativeJRSInitialized:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 68
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static apple.laf.JRSUIControl$ThreadLocalByteBuffer getThreadLocalBuffer();
    descriptor: ()Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 84
            getstatic apple.laf.JRSUIControl.threadLocal:Ljava/lang/ThreadLocal;
            invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
            checkcast apple.laf.JRSUIControl$ThreadLocalByteBuffer
            astore 0 /* byteBuffer */
        start local 0 // apple.laf.JRSUIControl$ThreadLocalByteBuffer byteBuffer
         1: .line 85
            aload 0 /* byteBuffer */
            ifnull 2
            aload 0 /* byteBuffer */
            areturn
         2: .line 87
      StackMap locals: apple.laf.JRSUIControl$ThreadLocalByteBuffer
      StackMap stack:
            new apple.laf.JRSUIControl$ThreadLocalByteBuffer
            dup
            invokespecial apple.laf.JRSUIControl$ThreadLocalByteBuffer.<init>:()V
            astore 0 /* byteBuffer */
         3: .line 88
            getstatic apple.laf.JRSUIControl.threadLocal:Ljava/lang/ThreadLocal;
            aload 0 /* byteBuffer */
            invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
         4: .line 89
            aload 0 /* byteBuffer */
            areturn
        end local 0 // apple.laf.JRSUIControl$ThreadLocalByteBuffer byteBuffer
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            1    5     0  byteBuffer  Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // boolean flipped
         0: .line 100
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 101
            aload 0 /* this */
            iload 1 /* flipped */
            putfield apple.laf.JRSUIControl.flipped:Z
         2: .line 102
            aload 0 /* this */
            iload 1 /* flipped */
            invokestatic apple.laf.JRSUIControl.getCFDictionary:(Z)J
            putfield apple.laf.JRSUIControl.cfDictionaryPtr:J
         3: .line 103
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            lconst_0
            lcmp
            ifne 4
            new java.lang.RuntimeException
            dup
            ldc "Unable to create native representation"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 104
      StackMap locals: apple.laf.JRSUIControl int
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
         5: .line 105
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
         6: .line 106
            return
        end local 1 // boolean flipped
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lapple/laf/JRSUIControl;
            0    7     1  flipped  Z
    MethodParameters:
         Name  Flags
      flipped  final

  void <init>(apple.laf.JRSUIControl);
    descriptor: (Lapple/laf/JRSUIControl;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // apple.laf.JRSUIControl other
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 109
            aload 0 /* this */
            aload 1 /* other */
            getfield apple.laf.JRSUIControl.flipped:Z
            putfield apple.laf.JRSUIControl.flipped:Z
         2: .line 110
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.flipped:Z
            invokestatic apple.laf.JRSUIControl.getCFDictionary:(Z)J
            putfield apple.laf.JRSUIControl.cfDictionaryPtr:J
         3: .line 111
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            lconst_0
            lcmp
            ifne 4
            new java.lang.RuntimeException
            dup
            ldc "Unable to create native representation"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 112
      StackMap locals: apple.laf.JRSUIControl apple.laf.JRSUIControl
      StackMap stack:
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
         5: .line 113
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 1 /* other */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
         6: .line 114
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 1 /* other */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         7: .line 115
            return
        end local 1 // apple.laf.JRSUIControl other
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lapple/laf/JRSUIControl;
            0    8     1  other  Lapple/laf/JRSUIControl;
    MethodParameters:
       Name  Flags
      other  final

  protected synchronized void finalize();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // apple.laf.JRSUIControl this
         0: .line 119
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            lconst_0
            lcmp
            ifne 1
            return
         1: .line 120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            invokestatic apple.laf.JRSUIControl.disposeCFDictionary:(J)V
         2: .line 121
            aload 0 /* this */
            lconst_0
            putfield apple.laf.JRSUIControl.cfDictionaryPtr:J
         3: .line 122
            return
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lapple/laf/JRSUIControl;
    Exceptions:
      throws java.lang.Throwable

  private apple.laf.JRSUIControl$BufferState loadBufferWithChanges(apple.laf.JRSUIControl$ThreadLocalByteBuffer);
    descriptor: (Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
         0: .line 133
            aload 1 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.buffer:Ljava/nio/ByteBuffer;
            astore 2 /* buffer */
        start local 2 // java.nio.ByteBuffer buffer
         1: .line 134
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/ByteBuffer;
            pop
         2: .line 136
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 4
            goto 19
      StackMap locals: apple.laf.JRSUIControl apple.laf.JRSUIControl$ThreadLocalByteBuffer java.nio.ByteBuffer top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast apple.laf.JRSUIConstants$Key
            astore 3 /* key */
        start local 3 // apple.laf.JRSUIConstants$Key key
         4: .line 137
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 5 /* changeIndex */
        start local 5 // int changeIndex
         5: .line 138
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 3 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast apple.laf.JRSUIConstants$DoubleValue
            astore 6 /* value */
        start local 6 // apple.laf.JRSUIConstants$DoubleValue value
         6: .line 141
            aload 2 /* buffer */
            aload 3 /* key */
            invokevirtual apple.laf.JRSUIConstants$Key.getConstantPtr:()J
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
         7: .line 142
            aload 2 /* buffer */
            aload 6 /* value */
            invokevirtual apple.laf.JRSUIConstants$DoubleValue.getTypeCode:()B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         8: .line 143
            aload 6 /* value */
            aload 2 /* buffer */
            invokevirtual apple.laf.JRSUIConstants$DoubleValue.putValueInBuffer:(Ljava/nio/ByteBuffer;)V
         9: .line 144
            goto 15
      StackMap locals: apple.laf.JRSUIControl apple.laf.JRSUIControl$ThreadLocalByteBuffer java.nio.ByteBuffer apple.laf.JRSUIConstants$Key java.util.Iterator int apple.laf.JRSUIConstants$DoubleValue
      StackMap stack: java.nio.BufferOverflowException
        10: pop
        11: .line 145
            aload 0 /* this */
            aload 2 /* buffer */
            iload 5 /* changeIndex */
            invokevirtual apple.laf.JRSUIControl.handleBufferOverflow:(Ljava/nio/ByteBuffer;I)Lapple/laf/JRSUIControl$BufferState;
            areturn
        12: .line 146
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 7 /* e */
        start local 7 // java.lang.RuntimeException e
        13: .line 147
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* this */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        14: .line 148
            aload 7 /* e */
            athrow
        end local 7 // java.lang.RuntimeException e
        15: .line 151
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            bipush 120
            if_icmplt 17
        16: .line 152
            aload 0 /* this */
            aload 2 /* buffer */
            iload 5 /* changeIndex */
            invokevirtual apple.laf.JRSUIControl.handleBufferOverflow:(Ljava/nio/ByteBuffer;I)Lapple/laf/JRSUIControl$BufferState;
            areturn
        17: .line 155
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 3 /* key */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 156
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            aload 3 /* key */
            aload 6 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // apple.laf.JRSUIConstants$DoubleValue value
        end local 5 // int changeIndex
        end local 3 // apple.laf.JRSUIConstants$Key key
        19: .line 136
      StackMap locals: apple.laf.JRSUIControl apple.laf.JRSUIControl$ThreadLocalByteBuffer java.nio.ByteBuffer top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        20: .line 159
            aload 2 /* buffer */
            lconst_0
            invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
            pop
        21: .line 160
            getstatic apple.laf.JRSUIControl$BufferState.ALL_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            areturn
        end local 2 // java.nio.ByteBuffer buffer
        end local 1 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lapple/laf/JRSUIControl;
            0   22     1  localByteBuffer  Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            1   22     2           buffer  Ljava/nio/ByteBuffer;
            4   19     3              key  Lapple/laf/JRSUIConstants$Key;
            5   19     5      changeIndex  I
            6   19     6            value  Lapple/laf/JRSUIConstants$DoubleValue;
           13   15     7                e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
           6     9      10  Class java.nio.BufferOverflowException
           6     9      12  Class java.lang.RuntimeException
    MethodParameters:
                 Name  Flags
      localByteBuffer  final

  private apple.laf.JRSUIControl$BufferState handleBufferOverflow(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)Lapple/laf/JRSUIControl$BufferState;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // java.nio.ByteBuffer buffer
        start local 2 // int changeIndex
         0: .line 164
            iload 2 /* changeIndex */
            ifne 3
         1: .line 165
            aload 1 /* buffer */
            iconst_0
            lconst_0
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
         2: .line 166
            getstatic apple.laf.JRSUIControl$BufferState.CHANGE_WONT_FIT_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            areturn
         3: .line 169
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 2 /* changeIndex */
            lconst_0
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
         4: .line 170
            getstatic apple.laf.JRSUIControl$BufferState.SOME_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            areturn
        end local 2 // int changeIndex
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lapple/laf/JRSUIControl;
            0    5     1       buffer  Ljava/nio/ByteBuffer;
            0    5     2  changeIndex  I
    MethodParameters:
             Name  Flags
      buffer       final
      changeIndex  final

  private synchronized void set(apple.laf.JRSUIConstants$Key, apple.laf.JRSUIConstants$DoubleValue);
    descriptor: (Lapple/laf/JRSUIConstants$Key;Lapple/laf/JRSUIConstants$DoubleValue;)V
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // apple.laf.JRSUIConstants$Key key
        start local 2 // apple.laf.JRSUIConstants$DoubleValue value
         0: .line 174
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast apple.laf.JRSUIConstants$DoubleValue
            astore 3 /* existingValue */
        start local 3 // apple.laf.JRSUIConstants$DoubleValue existingValue
         1: .line 176
            aload 3 /* existingValue */
            ifnull 4
            aload 3 /* existingValue */
            aload 2 /* value */
            invokevirtual apple.laf.JRSUIConstants$DoubleValue.equals:(Ljava/lang/Object;)Z
            ifeq 4
         2: .line 177
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 178
            return
         4: .line 181
      StackMap locals: apple.laf.JRSUIConstants$DoubleValue
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 182
            return
        end local 3 // apple.laf.JRSUIConstants$DoubleValue existingValue
        end local 2 // apple.laf.JRSUIConstants$DoubleValue value
        end local 1 // apple.laf.JRSUIConstants$Key key
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lapple/laf/JRSUIControl;
            0    6     1            key  Lapple/laf/JRSUIConstants$Key;
            0    6     2          value  Lapple/laf/JRSUIConstants$DoubleValue;
            1    6     3  existingValue  Lapple/laf/JRSUIConstants$DoubleValue;
    MethodParameters:
       Name  Flags
      key    final
      value  final

  public void set(apple.laf.JRSUIState);
    descriptor: (Lapple/laf/JRSUIState;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // apple.laf.JRSUIState state
         0: .line 185
            aload 1 /* state */
            aload 0 /* this */
            invokevirtual apple.laf.JRSUIState.apply:(Lapple/laf/JRSUIControl;)V
         1: .line 186
            return
        end local 1 // apple.laf.JRSUIState state
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lapple/laf/JRSUIControl;
            0    2     1  state  Lapple/laf/JRSUIState;
    MethodParameters:
       Name  Flags
      state  final

  void setEncodedState(long);
    descriptor: (J)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // long state
         0: .line 189
            aload 0 /* this */
            lload 1 /* state */
            putfield apple.laf.JRSUIControl.currentEncodedProperties:J
         1: .line 190
            return
        end local 1 // long state
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lapple/laf/JRSUIControl;
            0    2     1  state  J
    MethodParameters:
       Name  Flags
      state  final

  void set(apple.laf.JRSUIConstants$Key, double);
    descriptor: (Lapple/laf/JRSUIConstants$Key;D)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // apple.laf.JRSUIConstants$Key key
        start local 2 // double value
         0: .line 193
            aload 0 /* this */
            aload 1 /* key */
            new apple.laf.JRSUIConstants$DoubleValue
            dup
            dload 2 /* value */
            invokespecial apple.laf.JRSUIConstants$DoubleValue.<init>:(D)V
            invokevirtual apple.laf.JRSUIControl.set:(Lapple/laf/JRSUIConstants$Key;Lapple/laf/JRSUIConstants$DoubleValue;)V
         1: .line 194
            return
        end local 2 // double value
        end local 1 // apple.laf.JRSUIConstants$Key key
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lapple/laf/JRSUIControl;
            0    2     1    key  Lapple/laf/JRSUIConstants$Key;
            0    2     2  value  D
    MethodParameters:
       Name  Flags
      key    final
      value  final

  public void paint(int[], int, int, double, double, double, double);
    descriptor: ([IIIDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=12, locals=12, args_size=8
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // int[] data
        start local 2 // int imgW
        start local 3 // int imgH
        start local 4 // double x
        start local 6 // double y
        start local 8 // double w
        start local 10 // double h
         0: .line 209
            aload 0 /* this */
            aload 1 /* data */
            iload 2 /* imgW */
            iload 3 /* imgH */
            dload 4 /* x */
            dload 6 /* y */
            dload 8 /* w */
            dload 10 /* h */
            invokevirtual apple.laf.JRSUIControl.paintImage:([IIIDDDD)I
            pop
         1: .line 210
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            putfield apple.laf.JRSUIControl.priorEncodedProperties:J
         2: .line 211
            return
        end local 10 // double h
        end local 8 // double w
        end local 6 // double y
        end local 4 // double x
        end local 3 // int imgH
        end local 2 // int imgW
        end local 1 // int[] data
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lapple/laf/JRSUIControl;
            0    3     1  data  [I
            0    3     2  imgW  I
            0    3     3  imgH  I
            0    3     4     x  D
            0    3     6     y  D
            0    3     8     w  D
            0    3    10     h  D
    MethodParameters:
      Name  Flags
      data  final
      imgW  final
      imgH  final
      x     final
      y     final
      w     final
      h     final

  private synchronized int paintImage(int[], int, int, double, double, double, double);
    descriptor: ([IIIDDDD)I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=19, locals=15, args_size=8
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // int[] data
        start local 2 // int imgW
        start local 3 // int imgH
        start local 4 // double x
        start local 6 // double y
        start local 8 // double w
        start local 10 // double h
         0: .line 214
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 2
         1: .line 216
            aload 1 /* data */
            iload 2 /* imgW */
            iload 3 /* imgH */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 4 /* x */
            dload 6 /* y */
            dload 8 /* w */
            dload 10 /* h */
            invokestatic apple.laf.JRSUIControl.paintImage:([IIIJJJDDDD)I
            ireturn
         2: .line 219
      StackMap locals:
      StackMap stack:
            invokestatic apple.laf.JRSUIControl.getThreadLocalBuffer:()Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            astore 12 /* localByteBuffer */
        start local 12 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
         3: .line 220
            aload 0 /* this */
            aload 12 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 13 /* bufferState */
        start local 13 // apple.laf.JRSUIControl$BufferState bufferState
         4: .line 223
            aload 13 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.ALL_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 9
         5: .line 225
            aload 1 /* data */
            iload 2 /* imgW */
            iload 3 /* imgH */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 4 /* x */
            dload 6 /* y */
            dload 8 /* w */
            dload 10 /* h */
            aload 12 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.paintChangesImage:([IIIJJJDDDDJ)I
            ireturn
         6: .line 229
      StackMap locals: apple.laf.JRSUIControl$ThreadLocalByteBuffer apple.laf.JRSUIControl$BufferState
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 12 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.syncChanges:(JJ)I
            istore 14 /* status */
        start local 14 // int status
         7: .line 230
            iload 14 /* status */
            ifeq 8
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes into the native buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 231
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 12 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 13 /* bufferState */
        end local 14 // int status
         9: .line 228
      StackMap locals:
      StackMap stack:
            aload 13 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.SOME_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpeq 6
        10: .line 234
            aload 13 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.CHANGE_WONT_FIT_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 12
        11: .line 235
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes to the native buffer, because some change was too big: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* data */
            iload 2 /* imgW */
            iload 3 /* imgH */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 4 /* x */
            dload 6 /* y */
            dload 8 /* w */
            dload 10 /* h */
            aload 12 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.paintChangesImage:([IIIJJJDDDDJ)I
            ireturn
        end local 13 // apple.laf.JRSUIControl$BufferState bufferState
        end local 12 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
        end local 10 // double h
        end local 8 // double w
        end local 6 // double y
        end local 4 // double x
        end local 3 // int imgH
        end local 2 // int imgW
        end local 1 // int[] data
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lapple/laf/JRSUIControl;
            0   13     1             data  [I
            0   13     2             imgW  I
            0   13     3             imgH  I
            0   13     4                x  D
            0   13     6                y  D
            0   13     8                w  D
            0   13    10                h  D
            3   13    12  localByteBuffer  Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            4   13    13      bufferState  Lapple/laf/JRSUIControl$BufferState;
            7    9    14           status  I
    MethodParameters:
      Name  Flags
      data  final
      imgW  final
      imgH  final
      x     final
      y     final
      w     final
      h     final

  public void paint(long, double, double, double, double);
    descriptor: (JDDDD)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=11, args_size=6
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // long cgContext
        start local 3 // double x
        start local 5 // double y
        start local 7 // double w
        start local 9 // double h
         0: .line 244
            aload 0 /* this */
            lload 1 /* cgContext */
            dload 3 /* x */
            dload 5 /* y */
            dload 7 /* w */
            dload 9 /* h */
            invokevirtual apple.laf.JRSUIControl.paintToCGContext:(JDDDD)I
            pop
         1: .line 245
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            putfield apple.laf.JRSUIControl.priorEncodedProperties:J
         2: .line 246
            return
        end local 9 // double h
        end local 7 // double w
        end local 5 // double y
        end local 3 // double x
        end local 1 // long cgContext
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lapple/laf/JRSUIControl;
            0    3     1  cgContext  J
            0    3     3          x  D
            0    3     5          y  D
            0    3     7          w  D
            0    3     9          h  D
    MethodParameters:
           Name  Flags
      cgContext  final
      x          final
      y          final
      w          final
      h          final

  private synchronized int paintToCGContext(long, double, double, double, double);
    descriptor: (JDDDD)I
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=18, locals=14, args_size=6
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // long cgContext
        start local 3 // double x
        start local 5 // double y
        start local 7 // double w
        start local 9 // double h
         0: .line 249
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 2
         1: .line 251
            lload 1 /* cgContext */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 3 /* x */
            dload 5 /* y */
            dload 7 /* w */
            dload 9 /* h */
            invokestatic apple.laf.JRSUIControl.paintToCGContext:(JJJJDDDD)I
            ireturn
         2: .line 254
      StackMap locals:
      StackMap stack:
            invokestatic apple.laf.JRSUIControl.getThreadLocalBuffer:()Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            astore 11 /* localByteBuffer */
        start local 11 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
         3: .line 255
            aload 0 /* this */
            aload 11 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 12 /* bufferState */
        start local 12 // apple.laf.JRSUIControl$BufferState bufferState
         4: .line 258
            aload 12 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.ALL_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 9
         5: .line 260
            lload 1 /* cgContext */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 3 /* x */
            dload 5 /* y */
            dload 7 /* w */
            dload 9 /* h */
            aload 11 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.paintChangesToCGContext:(JJJJDDDDJ)I
            ireturn
         6: .line 264
      StackMap locals: apple.laf.JRSUIControl$ThreadLocalByteBuffer apple.laf.JRSUIControl$BufferState
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 11 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.syncChanges:(JJ)I
            istore 13 /* status */
        start local 13 // int status
         7: .line 265
            iload 13 /* status */
            ifeq 8
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes into the native buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 266
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 11 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 12 /* bufferState */
        end local 13 // int status
         9: .line 263
      StackMap locals:
      StackMap stack:
            aload 12 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.SOME_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpeq 6
        10: .line 269
            aload 12 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.CHANGE_WONT_FIT_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 12
        11: .line 270
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes to the native buffer, because some change was too big: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 275
      StackMap locals:
      StackMap stack:
            lload 1 /* cgContext */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            dload 3 /* x */
            dload 5 /* y */
            dload 7 /* w */
            dload 9 /* h */
            aload 11 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.paintChangesToCGContext:(JJJJDDDDJ)I
            ireturn
        end local 12 // apple.laf.JRSUIControl$BufferState bufferState
        end local 11 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
        end local 9 // double h
        end local 7 // double w
        end local 5 // double y
        end local 3 // double x
        end local 1 // long cgContext
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0             this  Lapple/laf/JRSUIControl;
            0   13     1        cgContext  J
            0   13     3                x  D
            0   13     5                y  D
            0   13     7                w  D
            0   13     9                h  D
            3   13    11  localByteBuffer  Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            4   13    12      bufferState  Lapple/laf/JRSUIControl$BufferState;
            7    9    13           status  I
    MethodParameters:
           Name  Flags
      cgContext  final
      x          final
      y          final
      w          final
      h          final

  apple.laf.JRSUIConstants$Hit getHitForPoint(int, int, int, int, int, int);
    descriptor: (IIIIII)Lapple/laf/JRSUIConstants$Hit;
    flags: (0x0000) 
    Code:
      stack=18, locals=8, args_size=7
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // int hitX
        start local 6 // int hitY
         0: .line 280
            aload 0 /* this */
            invokevirtual apple.laf.JRSUIControl.sync:()V
         1: .line 282
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            iload 1 /* x */
            i2d
            iload 2 /* y */
            i2d
            iload 3 /* w */
            i2d
            iload 4 /* h */
            i2d
            iload 5 /* hitX */
            i2d
            iconst_2
            iload 2 /* y */
            imul
            iload 4 /* h */
            iadd
            iload 6 /* hitY */
            isub
            i2d
            invokestatic apple.laf.JRSUIControl.getNativeHitPart:(JJJDDDDDD)I
            invokestatic apple.laf.JRSUIConstants.getHit:(I)Lapple/laf/JRSUIConstants$Hit;
            astore 7 /* hit */
        start local 7 // apple.laf.JRSUIConstants$Hit hit
         2: .line 283
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            putfield apple.laf.JRSUIControl.priorEncodedProperties:J
         3: .line 284
            aload 7 /* hit */
            areturn
        end local 7 // apple.laf.JRSUIConstants$Hit hit
        end local 6 // int hitY
        end local 5 // int hitX
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lapple/laf/JRSUIControl;
            0    4     1     x  I
            0    4     2     y  I
            0    4     3     w  I
            0    4     4     h  I
            0    4     5  hitX  I
            0    4     6  hitY  I
            2    4     7   hit  Lapple/laf/JRSUIConstants$Hit;
    MethodParameters:
      Name  Flags
      x     final
      y     final
      w     final
      h     final
      hitX  final
      hitY  final

  void getPartBounds(double[], int, int, int, int, int);
    descriptor: ([DIIIII)V
    flags: (0x0000) 
    Code:
      stack=16, locals=7, args_size=7
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // double[] rect
        start local 2 // int x
        start local 3 // int y
        start local 4 // int w
        start local 5 // int h
        start local 6 // int part
         0: .line 288
            aload 1 /* rect */
            ifnonnull 1
            new java.lang.NullPointerException
            dup
            ldc "Cannot load null rect"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         1: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* rect */
            arraylength
            iconst_4
            if_icmpeq 2
            new java.lang.IllegalArgumentException
            dup
            ldc "Rect must have four elements"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual apple.laf.JRSUIControl.sync:()V
         3: .line 292
            aload 1 /* rect */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            iload 2 /* x */
            i2d
            iload 3 /* y */
            i2d
            iload 4 /* w */
            i2d
            iload 5 /* h */
            i2d
            iload 6 /* part */
            invokestatic apple.laf.JRSUIControl.getNativePartBounds:([DJJJDDDDI)V
         4: .line 293
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            putfield apple.laf.JRSUIControl.priorEncodedProperties:J
         5: .line 294
            return
        end local 6 // int part
        end local 5 // int h
        end local 4 // int w
        end local 3 // int y
        end local 2 // int x
        end local 1 // double[] rect
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lapple/laf/JRSUIControl;
            0    6     1  rect  [D
            0    6     2     x  I
            0    6     3     y  I
            0    6     4     w  I
            0    6     5     h  I
            0    6     6  part  I
    MethodParameters:
      Name  Flags
      rect  final
      x     final
      y     final
      w     final
      h     final
      part  final

  double getScrollBarOffsetChange(int, int, int, int, int, int, int);
    descriptor: (IIIIIII)D
    flags: (0x0000) 
    Code:
      stack=17, locals=10, args_size=8
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // int x
        start local 2 // int y
        start local 3 // int w
        start local 4 // int h
        start local 5 // int offset
        start local 6 // int visibleAmount
        start local 7 // int extent
         0: .line 297
            aload 0 /* this */
            invokevirtual apple.laf.JRSUIControl.sync:()V
         1: .line 298
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.priorEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            iload 1 /* x */
            i2d
            iload 2 /* y */
            i2d
            iload 3 /* w */
            i2d
            iload 4 /* h */
            i2d
            iload 5 /* offset */
            iload 6 /* visibleAmount */
            iload 7 /* extent */
            invokestatic apple.laf.JRSUIControl.getNativeScrollBarOffsetChange:(JJJDDDDIII)D
            dstore 8 /* offsetChange */
        start local 8 // double offsetChange
         2: .line 299
            aload 0 /* this */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            putfield apple.laf.JRSUIControl.priorEncodedProperties:J
         3: .line 300
            dload 8 /* offsetChange */
            dreturn
        end local 8 // double offsetChange
        end local 7 // int extent
        end local 6 // int visibleAmount
        end local 5 // int offset
        end local 4 // int h
        end local 3 // int w
        end local 2 // int y
        end local 1 // int x
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lapple/laf/JRSUIControl;
            0    4     1              x  I
            0    4     2              y  I
            0    4     3              w  I
            0    4     4              h  I
            0    4     5         offset  I
            0    4     6  visibleAmount  I
            0    4     7         extent  I
            2    4     8   offsetChange  D
    MethodParameters:
               Name  Flags
      x              final
      y              final
      w              final
      h              final
      offset         final
      visibleAmount  final
      extent         final

  private void sync();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // apple.laf.JRSUIControl this
         0: .line 304
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.isEmpty:()Z
            ifeq 1
            return
         1: .line 306
      StackMap locals:
      StackMap stack:
            invokestatic apple.laf.JRSUIControl.getThreadLocalBuffer:()Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            astore 1 /* localByteBuffer */
        start local 1 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
         2: .line 307
            aload 0 /* this */
            aload 1 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 2 /* bufferState */
        start local 2 // apple.laf.JRSUIControl$BufferState bufferState
         3: .line 308
            aload 2 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.ALL_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 10
         4: .line 309
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 1 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.syncChanges:(JJ)I
            istore 3 /* status */
        start local 3 // int status
         5: .line 310
            iload 3 /* status */
            ifeq 6
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes into the native buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 311
      StackMap locals: apple.laf.JRSUIControl$ThreadLocalByteBuffer apple.laf.JRSUIControl$BufferState int
      StackMap stack:
            return
        end local 3 // int status
         7: .line 315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.cfDictionaryPtr:J
            aload 1 /* localByteBuffer */
            getfield apple.laf.JRSUIControl$ThreadLocalByteBuffer.ptr:J
            invokestatic apple.laf.JRSUIControl.syncChanges:(JJ)I
            istore 3 /* status */
        start local 3 // int status
         8: .line 316
            iload 3 /* status */
            ifeq 9
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes into the native buffer: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 317
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* localByteBuffer */
            invokevirtual apple.laf.JRSUIControl.loadBufferWithChanges:(Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;)Lapple/laf/JRSUIControl$BufferState;
            astore 2 /* bufferState */
        end local 3 // int status
        10: .line 314
      StackMap locals:
      StackMap stack:
            aload 2 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.SOME_CHANGES_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpeq 7
        11: .line 320
            aload 2 /* bufferState */
            getstatic apple.laf.JRSUIControl$BufferState.CHANGE_WONT_FIT_IN_BUFFER:Lapple/laf/JRSUIControl$BufferState;
            if_acmpne 13
        12: .line 321
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "JRSUI failed to sync changes to the native buffer, because some change was too big: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 323
      StackMap locals:
      StackMap stack:
            return
        end local 2 // apple.laf.JRSUIControl$BufferState bufferState
        end local 1 // apple.laf.JRSUIControl$ThreadLocalByteBuffer localByteBuffer
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   14     0             this  Lapple/laf/JRSUIControl;
            2   14     1  localByteBuffer  Lapple/laf/JRSUIControl$ThreadLocalByteBuffer;
            3   14     2      bufferState  Lapple/laf/JRSUIControl$BufferState;
            5    7     3           status  I
            8   10     3           status  I

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // apple.laf.JRSUIControl this
         0: .line 327
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            bipush 32
            lushr
            lxor
            l2i
            istore 1 /* bits */
        start local 1 // int bits
         1: .line 328
            iload 1 /* bits */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.hashCode:()I
            ixor
            istore 1 /* bits */
         2: .line 329
            iload 1 /* bits */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.hashCode:()I
            ixor
            istore 1 /* bits */
         3: .line 330
            iload 1 /* bits */
            ireturn
        end local 1 // int bits
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lapple/laf/JRSUIControl;
            1    4     1  bits  I

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // apple.laf.JRSUIControl this
        start local 1 // java.lang.Object obj
         0: .line 335
            aload 1 /* obj */
            instanceof apple.laf.JRSUIControl
            ifne 1
            iconst_0
            ireturn
         1: .line 336
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast apple.laf.JRSUIControl
            astore 2 /* other */
        start local 2 // apple.laf.JRSUIControl other
         2: .line 337
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            aload 2 /* other */
            getfield apple.laf.JRSUIControl.currentEncodedProperties:J
            lcmp
            ifeq 3
            iconst_0
            ireturn
         3: .line 338
      StackMap locals: apple.laf.JRSUIControl
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            aload 2 /* other */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.equals:(Ljava/lang/Object;)Z
            ifne 4
            iconst_0
            ireturn
         4: .line 339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            aload 2 /* other */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.equals:(Ljava/lang/Object;)Z
            ifne 5
            iconst_0
            ireturn
         5: .line 340
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // apple.laf.JRSUIControl other
        end local 1 // java.lang.Object obj
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lapple/laf/JRSUIControl;
            0    6     1    obj  Ljava/lang/Object;
            2    6     2  other  Lapple/laf/JRSUIControl;
    MethodParameters:
      Name  Flags
      obj   final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // apple.laf.JRSUIControl this
         0: .line 345
            new java.lang.StringBuilder
            dup
            ldc "JRSUIControl[inNative:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* builder */
        start local 1 // java.lang.StringBuilder builder
         1: .line 346
            aload 1 /* builder */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.nativeMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 347
            aload 1 /* builder */
            ldc ", changes:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 348
            aload 1 /* builder */
            aload 0 /* this */
            getfield apple.laf.JRSUIControl.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         4: .line 349
            aload 1 /* builder */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 350
            aload 1 /* builder */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder builder
        end local 0 // apple.laf.JRSUIControl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lapple/laf/JRSUIControl;
            1    6     1  builder  Ljava/lang/StringBuilder;
}
SourceFile: "JRSUIControl.java"
NestMembers:
  apple.laf.JRSUIControl$BufferState  apple.laf.JRSUIControl$ThreadLocalByteBuffer
InnerClasses:
  DoubleValue = apple.laf.JRSUIConstants$DoubleValue of apple.laf.JRSUIConstants
  public Hit = apple.laf.JRSUIConstants$Hit of apple.laf.JRSUIConstants
  Key = apple.laf.JRSUIConstants$Key of apple.laf.JRSUIConstants
  final BufferState = apple.laf.JRSUIControl$BufferState of apple.laf.JRSUIControl
  private ThreadLocalByteBuffer = apple.laf.JRSUIControl$ThreadLocalByteBuffer of apple.laf.JRSUIControl
  public abstract Entry = java.util.Map$Entry of java.util.Map