class javafx.animation.Timeline$1 extends com.sun.javafx.collections.TrackableObservableList<javafx.animation.KeyFrame>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.animation.Timeline$1
  super_class: com.sun.javafx.collections.TrackableObservableList
{
  final javafx.animation.Timeline this$0;
    descriptor: Ljavafx/animation/Timeline;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(javafx.animation.Timeline);
    descriptor: (Ljavafx/animation/Timeline;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.animation.Timeline$1 this
         0: .line 94
            aload 0 /* this */
            aload 1
            putfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            aload 0 /* this */
            invokespecial com.sun.javafx.collections.TrackableObservableList.<init>:()V
            return
        end local 0 // javafx.animation.Timeline$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/animation/Timeline$1;
    MethodParameters:
        Name  Flags
      this$0  final

  protected void onChanged(javafx.collections.ListChangeListener$Change<javafx.animation.KeyFrame>);
    descriptor: (Ljavafx/collections/ListChangeListener$Change;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javafx.animation.Timeline$1 this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 97
            goto 16
         1: .line 98
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasPermutated:()Z
            ifne 16
         2: .line 99
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getRemoved:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: javafx.animation.Timeline$1 javafx.collections.ListChangeListener$Change top java.util.Iterator
      StackMap stack:
         3: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.animation.KeyFrame
            astore 2 /* keyFrame */
        start local 2 // javafx.animation.KeyFrame keyFrame
         4: .line 100
            aload 2 /* keyFrame */
            invokevirtual javafx.animation.KeyFrame.getName:()Ljava/lang/String;
            astore 4 /* cuePoint */
        start local 4 // java.lang.String cuePoint
         5: .line 101
            aload 4 /* cuePoint */
            ifnull 7
         6: .line 102
            aload 0 /* this */
            getfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            invokevirtual javafx.animation.Timeline.getCuePoints:()Ljavafx/collections/ObservableMap;
            aload 4 /* cuePoint */
            invokeinterface javafx.collections.ObservableMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String cuePoint
        end local 2 // javafx.animation.KeyFrame keyFrame
         7: .line 99
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 105
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getAddedSubList:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.animation.KeyFrame
            astore 2 /* keyFrame */
        start local 2 // javafx.animation.KeyFrame keyFrame
        10: .line 106
            aload 2 /* keyFrame */
            invokevirtual javafx.animation.KeyFrame.getName:()Ljava/lang/String;
            astore 4 /* cuePoint */
        start local 4 // java.lang.String cuePoint
        11: .line 107
            aload 4 /* cuePoint */
            ifnull 13
        12: .line 108
            aload 0 /* this */
            getfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            invokevirtual javafx.animation.Timeline.getCuePoints:()Ljavafx/collections/ObservableMap;
            aload 4 /* cuePoint */
            aload 2 /* keyFrame */
            invokevirtual javafx.animation.KeyFrame.getTime:()Ljavafx/util/Duration;
            invokeinterface javafx.collections.ObservableMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String cuePoint
        end local 2 // javafx.animation.KeyFrame keyFrame
        13: .line 105
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 111
            aload 0 /* this */
            getfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            getfield javafx.animation.Timeline.clipCore:Lcom/sun/scenario/animation/shared/TimelineClipCore;
            aload 0 /* this */
            getfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            invokevirtual javafx.animation.Timeline.getKeyFrames:()Ljavafx/collections/ObservableList;
            invokevirtual com.sun.scenario.animation.shared.TimelineClipCore.setKeyFrames:(Ljava/util/Collection;)Ljavafx/util/Duration;
            astore 2 /* duration */
        start local 2 // javafx.util.Duration duration
        15: .line 112
            aload 0 /* this */
            getfield javafx.animation.Timeline$1.this$0:Ljavafx/animation/Timeline;
            aload 2 /* duration */
            invokevirtual javafx.animation.Timeline.setCycleDuration:(Ljavafx/util/Duration;)V
        end local 2 // javafx.util.Duration duration
        16: .line 97
      StackMap locals: javafx.animation.Timeline$1 javafx.collections.ListChangeListener$Change
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 1
        17: .line 115
            return
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.animation.Timeline$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   18     0      this  Ljavafx/animation/Timeline$1;
            0   18     1         c  Ljavafx/collections/ListChangeListener$Change<Ljavafx/animation/KeyFrame;>;
            4    7     2  keyFrame  Ljavafx/animation/KeyFrame;
            5    7     4  cuePoint  Ljava/lang/String;
           10   13     2  keyFrame  Ljavafx/animation/KeyFrame;
           11   13     4  cuePoint  Ljava/lang/String;
           15   16     2  duration  Ljavafx/util/Duration;
    Signature: (Ljavafx/collections/ListChangeListener$Change<Ljavafx/animation/KeyFrame;>;)V
    MethodParameters:
      Name  Flags
      c     
}
Signature: Lcom/sun/javafx/collections/TrackableObservableList<Ljavafx/animation/KeyFrame;>;
SourceFile: "Timeline.java"
EnclosingMethod: javafx.animation.Timeline
NestHost: javafx.animation.Timeline
InnerClasses:
  javafx.animation.Timeline$1
  public abstract Change = javafx.collections.ListChangeListener$Change of javafx.collections.ListChangeListener