public class com.sun.scenario.animation.shared.TimelineClipCore
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.scenario.animation.shared.TimelineClipCore
  super_class: java.lang.Object
{
  private static final int UNDEFINED_KEYFRAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final java.util.Comparator<javafx.animation.KeyFrame> KEY_FRAME_COMPARATOR;
    descriptor: Ljava/util/Comparator;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Comparator<Ljavafx/animation/KeyFrame;>;

  javafx.animation.Timeline timeline;
    descriptor: Ljavafx/animation/Timeline;
    flags: (0x0000) 

  private javafx.animation.KeyFrame[] keyFrames;
    descriptor: [Ljavafx/animation/KeyFrame;
    flags: (0x0002) ACC_PRIVATE

  private long[] keyFrameTicks;
    descriptor: [J
    flags: (0x0002) ACC_PRIVATE

  private boolean canSkipFrames;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.sun.scenario.animation.shared.ClipInterpolator clipInterpolator;
    descriptor: Lcom/sun/scenario/animation/shared/ClipInterpolator;
    flags: (0x0002) ACC_PRIVATE

  private boolean aborted;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 65
            invokedynamic compare()Ljava/util/Comparator;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;Ljava/lang/Object;)I
                  com/sun/scenario/animation/shared/TimelineClipCore.lambda$0(Ljavafx/animation/KeyFrame;Ljavafx/animation/KeyFrame;)I (6)
                  (Ljavafx/animation/KeyFrame;Ljavafx/animation/KeyFrame;)I
            putstatic com.sun.scenario.animation.shared.TimelineClipCore.KEY_FRAME_COMPARATOR:Ljava/util/Comparator;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(javafx.animation.Timeline);
    descriptor: (Ljavafx/animation/Timeline;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // javafx.animation.Timeline timeline
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            iconst_0
            anewarray javafx.animation.KeyFrame
            putfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
         2: .line 72
            aload 0 /* this */
            iconst_0
            newarray 11
            putfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
         3: .line 75
            aload 0 /* this */
            iconst_1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.canSkipFrames:Z
         4: .line 124
            aload 0 /* this */
            iconst_0
            putfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
         5: .line 127
            aload 0 /* this */
            iconst_m1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
         6: .line 130
            aload 0 /* this */
            lconst_0
            putfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
         7: .line 80
            aload 0 /* this */
            aload 1 /* timeline */
            putfield com.sun.scenario.animation.shared.TimelineClipCore.timeline:Ljavafx/animation/Timeline;
         8: .line 81
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            invokestatic com.sun.scenario.animation.shared.ClipInterpolator.create:([Ljavafx/animation/KeyFrame;[J)Lcom/sun/scenario/animation/shared/ClipInterpolator;
            putfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
         9: .line 82
            return
        end local 1 // javafx.animation.Timeline timeline
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0   10     1  timeline  Ljavafx/animation/Timeline;
    MethodParameters:
          Name  Flags
      timeline  

  public javafx.util.Duration setKeyFrames(java.util.Collection<javafx.animation.KeyFrame>);
    descriptor: (Ljava/util/Collection;)Ljavafx/util/Duration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // java.util.Collection keyFrames
         0: .line 88
            aload 1 /* keyFrames */
            invokeinterface java.util.Collection.size:()I
            istore 2 /* n */
        start local 2 // int n
         1: .line 89
            iload 2 /* n */
            anewarray javafx.animation.KeyFrame
            astore 3 /* sortedKeyFrames */
        start local 3 // javafx.animation.KeyFrame[] sortedKeyFrames
         2: .line 90
            aload 1 /* keyFrames */
            aload 3 /* sortedKeyFrames */
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         3: .line 91
            aload 3 /* sortedKeyFrames */
            getstatic com.sun.scenario.animation.shared.TimelineClipCore.KEY_FRAME_COMPARATOR:Ljava/util/Comparator;
            invokestatic java.util.Arrays.sort:([Ljava/lang/Object;Ljava/util/Comparator;)V
         4: .line 93
            aload 0 /* this */
            iconst_1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.canSkipFrames:Z
         5: .line 94
            aload 0 /* this */
            aload 3 /* sortedKeyFrames */
            putfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
         6: .line 95
            aload 0 /* this */
            iload 2 /* n */
            newarray 11
            putfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
         7: .line 96
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 13
         9: .line 97
      StackMap locals: int javafx.animation.KeyFrame[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            iload 4 /* i */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            iload 4 /* i */
            aaload
            invokevirtual javafx.animation.KeyFrame.getTime:()Ljavafx/util/Duration;
            invokestatic com.sun.javafx.animation.TickCalculation.fromDuration:(Ljavafx/util/Duration;)J
            lastore
        10: .line 98
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.canSkipFrames:Z
            ifeq 12
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            iload 4 /* i */
            aaload
            invokevirtual javafx.animation.KeyFrame.getOnFinished:()Ljavafx/event/EventHandler;
            ifnull 12
        11: .line 99
            aload 0 /* this */
            iconst_0
            putfield com.sun.scenario.animation.shared.TimelineClipCore.canSkipFrames:Z
        12: .line 96
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            iload 2 /* n */
            if_icmplt 9
        end local 4 // int i
        14: .line 102
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            aload 3 /* sortedKeyFrames */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.setKeyFrames:([Ljavafx/animation/KeyFrame;[J)Lcom/sun/scenario/animation/shared/ClipInterpolator;
            putfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
        15: .line 103
            iload 2 /* n */
            ifne 16
            getstatic javafx.util.Duration.ZERO:Ljavafx/util/Duration;
            goto 17
        16: .line 104
      StackMap locals:
      StackMap stack:
            aload 3 /* sortedKeyFrames */
            iload 2 /* n */
            iconst_1
            isub
            aaload
            invokevirtual javafx.animation.KeyFrame.getTime:()Ljavafx/util/Duration;
        17: .line 103
      StackMap locals:
      StackMap stack: javafx.util.Duration
            areturn
        end local 3 // javafx.animation.KeyFrame[] sortedKeyFrames
        end local 2 // int n
        end local 1 // java.util.Collection keyFrames
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   18     0             this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0   18     1        keyFrames  Ljava/util/Collection<Ljavafx/animation/KeyFrame;>;
            1   18     2                n  I
            2   18     3  sortedKeyFrames  [Ljavafx/animation/KeyFrame;
            8   14     4                i  I
    Signature: (Ljava/util/Collection<Ljavafx/animation/KeyFrame;>;)Ljavafx/util/Duration;
    MethodParameters:
           Name  Flags
      keyFrames  

  public void notifyCurrentRateChanged();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
         0: .line 110
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.timeline:Ljavafx/animation/Timeline;
            invokevirtual javafx.animation.Timeline.getStatus:()Ljavafx/animation/Animation$Status;
            getstatic javafx.animation.Animation$Status.RUNNING:Ljavafx/animation/Animation$Status;
            if_acmpeq 2
         1: .line 111
            aload 0 /* this */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.clearLastKeyFrame:()V
         2: .line 113
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/scenario/animation/shared/TimelineClipCore;

  public void abort();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
         0: .line 121
            aload 0 /* this */
            iconst_1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
         1: .line 122
            return
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/scenario/animation/shared/TimelineClipCore;

  private void clearLastKeyFrame();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
         0: .line 133
            aload 0 /* this */
            iconst_m1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
         1: .line 134
            return
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/scenario/animation/shared/TimelineClipCore;

  public void jumpTo(long, boolean);
    descriptor: (JZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // long ticks
        start local 3 // boolean forceJump
         0: .line 137
            aload 0 /* this */
            iconst_m1
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
         1: .line 138
            aload 0 /* this */
            lload 1 /* ticks */
            putfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
         2: .line 139
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.timeline:Ljavafx/animation/Timeline;
            invokevirtual javafx.animation.Timeline.getStatus:()Ljavafx/animation/Animation$Status;
            getstatic javafx.animation.Animation$Status.STOPPED:Ljavafx/animation/Animation$Status;
            if_acmpne 3
            iload 3 /* forceJump */
            ifeq 6
         3: .line 140
      StackMap locals:
      StackMap stack:
            iload 3 /* forceJump */
            ifeq 5
         4: .line 141
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            iconst_0
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.validate:(Z)V
         5: .line 143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.interpolate:(J)V
         6: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean forceJump
        end local 1 // long ticks
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0    7     1      ticks  J
            0    7     3  forceJump  Z
    MethodParameters:
           Name  Flags
      ticks      
      forceJump  

  public void start(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // boolean forceSync
         0: .line 148
            aload 0 /* this */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.clearLastKeyFrame:()V
         1: .line 149
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            iload 1 /* forceSync */
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.validate:(Z)V
         2: .line 150
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lconst_0
            lcmp
            ifle 4
         3: .line 151
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.interpolate:(J)V
         4: .line 153
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean forceSync
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0    5     1  forceSync  Z
    MethodParameters:
           Name  Flags
      forceSync  

  public void playTo(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // long ticks
         0: .line 159
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.canSkipFrames:Z
            ifeq 5
         1: .line 160
            aload 0 /* this */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.clearLastKeyFrame:()V
         2: .line 161
            aload 0 /* this */
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.setTime:(J)V
         3: .line 162
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.interpolate:(J)V
         4: .line 163
            return
         5: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
         6: .line 166
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lload 1 /* ticks */
            lcmp
            ifgt 7
            iconst_1
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 3 /* forward */
        start local 3 // boolean forward
         9: .line 168
            iload 3 /* forward */
            ifeq 28
        10: .line 169
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            iconst_m1
            if_icmpne 11
            iconst_0
            goto 13
        11: .line 170
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            laload
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lcmp
            ifgt 12
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            iconst_1
            iadd
            goto 13
        12: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
        13: .line 169
      StackMap locals:
      StackMap stack: int
            istore 4 /* fromKF */
        start local 4 // int fromKF
        14: .line 172
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            arraylength
            istore 5 /* toKF */
        start local 5 // int toKF
        15: .line 173
            iload 4 /* fromKF */
            istore 6 /* fi */
        start local 6 // int fi
        16: goto 26
        17: .line 174
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            iload 6 /* fi */
            laload
            lstore 7 /* kfTicks */
        start local 7 // long kfTicks
        18: .line 175
            lload 7 /* kfTicks */
            lload 1 /* ticks */
            lcmp
            ifle 21
        19: .line 176
            aload 0 /* this */
            iload 6 /* fi */
            iconst_1
            isub
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
        20: .line 177
            goto 44
        21: .line 179
      StackMap locals: long
      StackMap stack:
            lload 7 /* kfTicks */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lcmp
            iflt 25
        22: .line 180
            aload 0 /* this */
            iload 6 /* fi */
            lload 7 /* kfTicks */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame:(IJ)V
        23: .line 181
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
            ifeq 25
        24: .line 182
            goto 44
        end local 7 // long kfTicks
        25: .line 173
      StackMap locals:
      StackMap stack:
            iinc 6 /* fi */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* fi */
            iload 5 /* toKF */
            if_icmplt 17
        end local 6 // int fi
        end local 5 // int toKF
        end local 4 // int fromKF
        27: .line 186
            goto 44
        28: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            iconst_m1
            if_icmpne 29
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            arraylength
            iconst_1
            isub
            goto 31
        29: .line 188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            laload
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lcmp
            iflt 30
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            iconst_1
            isub
            goto 31
        30: .line 189
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
        31: .line 187
      StackMap locals:
      StackMap stack: int
            istore 4 /* fromKF */
        start local 4 // int fromKF
        32: .line 190
            iload 4 /* fromKF */
            istore 5 /* fi */
        start local 5 // int fi
        33: goto 43
        34: .line 191
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            iload 5 /* fi */
            laload
            lstore 6 /* kfTicks */
        start local 6 // long kfTicks
        35: .line 192
            lload 6 /* kfTicks */
            lload 1 /* ticks */
            lcmp
            ifge 38
        36: .line 193
            aload 0 /* this */
            iload 5 /* fi */
            iconst_1
            iadd
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
        37: .line 194
            goto 44
        38: .line 196
      StackMap locals: long
      StackMap stack:
            lload 6 /* kfTicks */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
            lcmp
            ifgt 42
        39: .line 197
            aload 0 /* this */
            iload 5 /* fi */
            lload 6 /* kfTicks */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.visitKeyFrame:(IJ)V
        40: .line 198
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
            ifeq 42
        41: .line 199
            goto 44
        end local 6 // long kfTicks
        42: .line 190
      StackMap locals:
      StackMap stack:
            iinc 5 /* fi */ -1
      StackMap locals:
      StackMap stack:
        43: iload 5 /* fi */
            ifge 34
        end local 5 // int fi
        end local 4 // int fromKF
        44: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.aborted:Z
            ifne 50
        45: .line 205
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            iconst_m1
            if_icmpeq 48
        46: .line 206
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrameTicks:[J
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            laload
            lload 1 /* ticks */
            lcmp
            ifne 48
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            aaload
        47: .line 207
            invokevirtual javafx.animation.KeyFrame.getOnFinished:()Ljavafx/event/EventHandler;
            ifnonnull 50
        48: .line 208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.setTime:(J)V
        49: .line 209
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.interpolate:(J)V
        50: .line 211
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean forward
        end local 1 // long ticks
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   51     0     this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0   51     1    ticks  J
            9   51     3  forward  Z
           14   27     4   fromKF  I
           15   27     5     toKF  I
           16   27     6       fi  I
           18   25     7  kfTicks  J
           32   44     4   fromKF  I
           33   44     5       fi  I
           35   42     6  kfTicks  J
    MethodParameters:
       Name  Flags
      ticks  

  private void setTime(long);
    descriptor: (J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // long ticks
         0: .line 214
            aload 0 /* this */
            lload 1 /* ticks */
            putfield com.sun.scenario.animation.shared.TimelineClipCore.curTicks:J
         1: .line 215
            invokestatic com.sun.scenario.animation.shared.AnimationAccessor.getDefault:()Lcom/sun/scenario/animation/shared/AnimationAccessor;
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.timeline:Ljavafx/animation/Timeline;
            lload 1 /* ticks */
            invokevirtual com.sun.scenario.animation.shared.AnimationAccessor.setCurrentTicks:(Ljavafx/animation/Animation;J)V
         2: .line 216
            return
        end local 1 // long ticks
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0    3     1  ticks  J
    MethodParameters:
       Name  Flags
      ticks  

  private void visitKeyFrame(int, long);
    descriptor: (IJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
        start local 1 // int kfIndex
        start local 2 // long kfTicks
         0: .line 227
            iload 1 /* kfIndex */
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
            if_icmpeq 11
         1: .line 229
            aload 0 /* this */
            iload 1 /* kfIndex */
            putfield com.sun.scenario.animation.shared.TimelineClipCore.lastKF:I
         2: .line 231
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.keyFrames:[Ljavafx/animation/KeyFrame;
            iload 1 /* kfIndex */
            aaload
            astore 4 /* kf */
        start local 4 // javafx.animation.KeyFrame kf
         3: .line 232
            aload 4 /* kf */
            invokevirtual javafx.animation.KeyFrame.getOnFinished:()Ljavafx/event/EventHandler;
            astore 5 /* onFinished */
        start local 5 // javafx.event.EventHandler onFinished
         4: .line 234
            aload 5 /* onFinished */
            ifnull 11
         5: .line 236
            aload 0 /* this */
            lload 2 /* kfTicks */
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.setTime:(J)V
         6: .line 237
            aload 0 /* this */
            getfield com.sun.scenario.animation.shared.TimelineClipCore.clipInterpolator:Lcom/sun/scenario/animation/shared/ClipInterpolator;
            lload 2 /* kfTicks */
            invokevirtual com.sun.scenario.animation.shared.ClipInterpolator.interpolate:(J)V
         7: .line 239
            aload 5 /* onFinished */
            new javafx.event.ActionEvent
            dup
            aload 4 /* kf */
            aconst_null
            invokespecial javafx.event.ActionEvent.<init>:(Ljava/lang/Object;Ljavafx/event/EventTarget;)V
            invokeinterface javafx.event.EventHandler.handle:(Ljavafx/event/Event;)V
         8: .line 240
            goto 11
      StackMap locals: com.sun.scenario.animation.shared.TimelineClipCore int long javafx.animation.KeyFrame javafx.event.EventHandler
      StackMap stack: java.lang.Throwable
         9: astore 6 /* ex */
        start local 6 // java.lang.Throwable ex
        10: .line 241
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getUncaughtExceptionHandler:()Ljava/lang/Thread$UncaughtExceptionHandler;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 6 /* ex */
            invokeinterface java.lang.Thread$UncaughtExceptionHandler.uncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable ex
        end local 5 // javafx.event.EventHandler onFinished
        end local 4 // javafx.animation.KeyFrame kf
        11: .line 245
      StackMap locals:
      StackMap stack:
            return
        end local 2 // long kfTicks
        end local 1 // int kfIndex
        end local 0 // com.sun.scenario.animation.shared.TimelineClipCore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/sun/scenario/animation/shared/TimelineClipCore;
            0   12     1     kfIndex  I
            0   12     2     kfTicks  J
            3   11     4          kf  Ljavafx/animation/KeyFrame;
            4   11     5  onFinished  Ljavafx/event/EventHandler<Ljavafx/event/ActionEvent;>;
           10   11     6          ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      kfIndex  
      kfTicks  

  private static int lambda$0(javafx.animation.KeyFrame, javafx.animation.KeyFrame);
    descriptor: (Ljavafx/animation/KeyFrame;Ljavafx/animation/KeyFrame;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.animation.KeyFrame kf1
        start local 1 // javafx.animation.KeyFrame kf2
         0: .line 65
            aload 0 /* kf1 */
            invokevirtual javafx.animation.KeyFrame.getTime:()Ljavafx/util/Duration;
            aload 1 /* kf2 */
            invokevirtual javafx.animation.KeyFrame.getTime:()Ljavafx/util/Duration;
            invokevirtual javafx.util.Duration.compareTo:(Ljavafx/util/Duration;)I
            ireturn
        end local 1 // javafx.animation.KeyFrame kf2
        end local 0 // javafx.animation.KeyFrame kf1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   kf1  Ljavafx/animation/KeyFrame;
            0    1     1   kf2  Ljavafx/animation/KeyFrame;
}
SourceFile: "TimelineClipCore.java"
InnerClasses:
  public abstract UncaughtExceptionHandler = java.lang.Thread$UncaughtExceptionHandler of java.lang.Thread
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Status = javafx.animation.Animation$Status of javafx.animation.Animation