public final class sun.java2d.StateTrackableDelegate implements sun.java2d.StateTrackable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.java2d.StateTrackableDelegate
  super_class: java.lang.Object
{
  public static final sun.java2d.StateTrackableDelegate UNTRACKABLE_DELEGATE;
    descriptor: Lsun/java2d/StateTrackableDelegate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final sun.java2d.StateTrackableDelegate IMMUTABLE_DELEGATE;
    descriptor: Lsun/java2d/StateTrackableDelegate;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private sun.java2d.StateTrackable$State theState;
    descriptor: Lsun/java2d/StateTrackable$State;
    flags: (0x0002) ACC_PRIVATE

  sun.java2d.StateTracker theTracker;
    descriptor: Lsun/java2d/StateTracker;
    flags: (0x0000) 

  private int numDynamicAgents;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static volatile int[] $SWITCH_TABLE$sun$java2d$StateTrackable$State;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 48
            new sun.java2d.StateTrackableDelegate
            dup
            getstatic sun.java2d.StateTrackable$State.UNTRACKABLE:Lsun/java2d/StateTrackable$State;
            invokespecial sun.java2d.StateTrackableDelegate.<init>:(Lsun/java2d/StateTrackable$State;)V
         1: .line 47
            putstatic sun.java2d.StateTrackableDelegate.UNTRACKABLE_DELEGATE:Lsun/java2d/StateTrackableDelegate;
         2: .line 56
            new sun.java2d.StateTrackableDelegate
            dup
            getstatic sun.java2d.StateTrackable$State.IMMUTABLE:Lsun/java2d/StateTrackable$State;
            invokespecial sun.java2d.StateTrackableDelegate.<init>:(Lsun/java2d/StateTrackable$State;)V
         3: .line 55
            putstatic sun.java2d.StateTrackableDelegate.IMMUTABLE_DELEGATE:Lsun/java2d/StateTrackableDelegate;
         4: .line 56
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static sun.java2d.StateTrackableDelegate createInstance(sun.java2d.StateTrackable$State);
    descriptor: (Lsun/java2d/StateTrackable$State;)Lsun/java2d/StateTrackableDelegate;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackable$State state
         0: .line 69
            invokestatic sun.java2d.StateTrackableDelegate.$SWITCH_TABLE$sun$java2d$StateTrackable$State:()[I
            aload 0 /* state */
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 4
                    2: 2
                    3: 3
                    4: 1
              default: 5
          }
         1: .line 71
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.StateTrackableDelegate.UNTRACKABLE_DELEGATE:Lsun/java2d/StateTrackableDelegate;
            areturn
         2: .line 73
      StackMap locals:
      StackMap stack:
            new sun.java2d.StateTrackableDelegate
            dup
            getstatic sun.java2d.StateTrackable$State.STABLE:Lsun/java2d/StateTrackable$State;
            invokespecial sun.java2d.StateTrackableDelegate.<init>:(Lsun/java2d/StateTrackable$State;)V
            areturn
         3: .line 75
      StackMap locals:
      StackMap stack:
            new sun.java2d.StateTrackableDelegate
            dup
            getstatic sun.java2d.StateTrackable$State.DYNAMIC:Lsun/java2d/StateTrackable$State;
            invokespecial sun.java2d.StateTrackableDelegate.<init>:(Lsun/java2d/StateTrackable$State;)V
            areturn
         4: .line 77
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.StateTrackableDelegate.IMMUTABLE_DELEGATE:Lsun/java2d/StateTrackableDelegate;
            areturn
         5: .line 79
      StackMap locals:
      StackMap stack:
            new java.lang.InternalError
            dup
            ldc "unknown state"
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // sun.java2d.StateTrackable$State state
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0  state  Lsun/java2d/StateTrackable$State;
    MethodParameters:
       Name  Flags
      state  

  private void <init>(sun.java2d.StateTrackable$State);
    descriptor: (Lsun/java2d/StateTrackable$State;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.java2d.StateTrackableDelegate this
        start local 1 // sun.java2d.StateTrackable$State state
         0: .line 91
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 92
            aload 0 /* this */
            aload 1 /* state */
            putfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
         2: .line 93
            return
        end local 1 // sun.java2d.StateTrackable$State state
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/java2d/StateTrackableDelegate;
            0    3     1  state  Lsun/java2d/StateTrackable$State;
    MethodParameters:
       Name  Flags
      state  

  public sun.java2d.StateTrackable$State getState();
    descriptor: ()Lsun/java2d/StateTrackable$State;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 100
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            areturn
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/java2d/StateTrackableDelegate;

  public synchronized sun.java2d.StateTracker getStateTracker();
    descriptor: ()Lsun/java2d/StateTracker;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 108
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
            astore 1 /* st */
        start local 1 // sun.java2d.StateTracker st
         1: .line 109
            aload 1 /* st */
            ifnonnull 9
         2: .line 110
            invokestatic sun.java2d.StateTrackableDelegate.$SWITCH_TABLE$sun$java2d$StateTrackable$State:()[I
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iaload
            tableswitch { // 1 - 4
                    1: 3
                    2: 5
                    3: 7
                    4: 7
              default: 8
          }
         3: .line 112
      StackMap locals: sun.java2d.StateTracker
      StackMap stack:
            getstatic sun.java2d.StateTracker.ALWAYS_CURRENT:Lsun/java2d/StateTracker;
            astore 1 /* st */
         4: .line 113
            goto 8
         5: .line 115
      StackMap locals:
      StackMap stack:
            new sun.java2d.StateTrackableDelegate$1
            dup
            aload 0 /* this */
            invokespecial sun.java2d.StateTrackableDelegate$1.<init>:(Lsun/java2d/StateTrackableDelegate;)V
            astore 1 /* st */
         6: .line 120
            goto 8
         7: .line 126
      StackMap locals:
      StackMap stack:
            getstatic sun.java2d.StateTracker.NEVER_CURRENT:Lsun/java2d/StateTracker;
            astore 1 /* st */
         8: .line 129
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* st */
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         9: .line 131
      StackMap locals:
      StackMap stack:
            aload 1 /* st */
            areturn
        end local 1 // sun.java2d.StateTracker st
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/java2d/StateTrackableDelegate;
            1   10     1    st  Lsun/java2d/StateTracker;

  public synchronized void setImmutable();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 144
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.UNTRACKABLE:Lsun/java2d/StateTrackable$State;
            if_acmpeq 1
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.DYNAMIC:Lsun/java2d/StateTrackable$State;
            if_acmpne 2
         1: .line 145
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalStateException
            dup
            ldc "UNTRACKABLE or DYNAMIC objects cannot become IMMUTABLE"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 148
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.java2d.StateTrackable$State.IMMUTABLE:Lsun/java2d/StateTrackable$State;
            putfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
         3: .line 149
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         4: .line 150
            return
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/StateTrackableDelegate;

  public synchronized void setUntrackable();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 164
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.IMMUTABLE:Lsun/java2d/StateTrackable$State;
            if_acmpne 2
         1: .line 165
            new java.lang.IllegalStateException
            dup
            ldc "IMMUTABLE objects cannot become UNTRACKABLE"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.java2d.StateTrackable$State.UNTRACKABLE:Lsun/java2d/StateTrackable$State;
            putfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
         3: .line 169
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         4: .line 170
            return
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/java2d/StateTrackableDelegate;

  public synchronized void addDynamicAgent();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 195
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.IMMUTABLE:Lsun/java2d/StateTrackable$State;
            if_acmpne 2
         1: .line 196
            new java.lang.IllegalStateException
            dup
            ldc "Cannot change state from IMMUTABLE"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.java2d.StateTrackableDelegate.numDynamicAgents:I
            iconst_1
            iadd
            putfield sun.java2d.StateTrackableDelegate.numDynamicAgents:I
         3: .line 200
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.STABLE:Lsun/java2d/StateTrackable$State;
            if_acmpne 6
         4: .line 201
            aload 0 /* this */
            getstatic sun.java2d.StateTrackable$State.DYNAMIC:Lsun/java2d/StateTrackable$State;
            putfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
         5: .line 202
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         6: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/java2d/StateTrackableDelegate;

  protected synchronized void removeDynamicAgent();
    descriptor: ()V
    flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 230
            aload 0 /* this */
            dup
            getfield sun.java2d.StateTrackableDelegate.numDynamicAgents:I
            iconst_1
            isub
            dup_x1
            putfield sun.java2d.StateTrackableDelegate.numDynamicAgents:I
            ifne 3
            aload 0 /* this */
            getfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
            getstatic sun.java2d.StateTrackable$State.DYNAMIC:Lsun/java2d/StateTrackable$State;
            if_acmpne 3
         1: .line 231
            aload 0 /* this */
            getstatic sun.java2d.StateTrackable$State.STABLE:Lsun/java2d/StateTrackable$State;
            putfield sun.java2d.StateTrackableDelegate.theState:Lsun/java2d/StateTrackable$State;
         2: .line 232
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         3: .line 234
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/java2d/StateTrackableDelegate;

  public final void markDirty();
    descriptor: ()V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.java2d.StateTrackableDelegate this
         0: .line 254
            aload 0 /* this */
            aconst_null
            putfield sun.java2d.StateTrackableDelegate.theTracker:Lsun/java2d/StateTracker;
         1: .line 255
            return
        end local 0 // sun.java2d.StateTrackableDelegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/java2d/StateTrackableDelegate;

  static int[] $SWITCH_TABLE$sun$java2d$StateTrackable$State();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 41
            getstatic sun.java2d.StateTrackableDelegate.$SWITCH_TABLE$sun$java2d$StateTrackable$State:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic sun.java2d.StateTrackable$State.values:()[Lsun/java2d/StateTrackable$State;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic sun.java2d.StateTrackable$State.DYNAMIC:Lsun/java2d/StateTrackable$State;
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic sun.java2d.StateTrackable$State.IMMUTABLE:Lsun/java2d/StateTrackable$State;
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic sun.java2d.StateTrackable$State.STABLE:Lsun/java2d/StateTrackable$State;
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iconst_2
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic sun.java2d.StateTrackable$State.UNTRACKABLE:Lsun/java2d/StateTrackable$State;
            invokevirtual sun.java2d.StateTrackable$State.ordinal:()I
            iconst_4
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            dup
            putstatic sun.java2d.StateTrackableDelegate.$SWITCH_TABLE$sun$java2d$StateTrackable$State:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
}
SourceFile: "StateTrackableDelegate.java"
NestMembers:
  sun.java2d.StateTrackableDelegate$1
InnerClasses:
  public final State = sun.java2d.StateTrackable$State of sun.java2d.StateTrackable
  sun.java2d.StateTrackableDelegate$1