class javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel<T> extends javafx.scene.control.SingleSelectionModel<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel
  super_class: javafx.scene.control.SingleSelectionModel
{
  private final javafx.scene.control.ChoiceBox<T> choiceBox;
    descriptor: Ljavafx/scene/control/ChoiceBox;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavafx/scene/control/ChoiceBox<TT;>;

  public void <init>(javafx.scene.control.ChoiceBox<T>);
    descriptor: (Ljavafx/scene/control/ChoiceBox;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
        start local 1 // javafx.scene.control.ChoiceBox cb
         0: .line 507
            aload 0 /* this */
            invokespecial javafx.scene.control.SingleSelectionModel.<init>:()V
         1: .line 508
            aload 1 /* cb */
            ifnonnull 3
         2: .line 509
            new java.lang.NullPointerException
            dup
            ldc "ChoiceBox can not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 511
      StackMap locals: javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel javafx.scene.control.ChoiceBox
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cb */
            putfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
         4: .line 523
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel;)Ljavafx/collections/ListChangeListener;
              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:
                  (Ljavafx/collections/ListChangeListener$Change;)V
                  javafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel.lambda$0(Ljavafx/collections/ListChangeListener$Change;)V (7)
                  (Ljavafx/collections/ListChangeListener$Change;)V
            astore 2 /* itemsContentObserver */
        start local 2 // javafx.collections.ListChangeListener itemsContentObserver
         5: .line 533
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            ifnull 7
         6: .line 534
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            aload 2 /* itemsContentObserver */
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
         7: .line 538
      StackMap locals: javafx.collections.ListChangeListener
      StackMap stack:
            aload 0 /* this */
            aload 2 /* itemsContentObserver */
            invokedynamic changed(Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel;Ljavafx/collections/ListChangeListener;)Ljavafx/beans/value/ChangeListener;
              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:
                  (Ljavafx/beans/value/ObservableValue;Ljava/lang/Object;Ljava/lang/Object;)V
                  javafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel.lambda$1(Ljavafx/collections/ListChangeListener;Ljavafx/beans/value/ObservableValue;Ljavafx/collections/ObservableList;Ljavafx/collections/ObservableList;)V (7)
                  (Ljavafx/beans/value/ObservableValue;Ljavafx/collections/ObservableList;Ljavafx/collections/ObservableList;)V
            astore 3 /* itemsObserver */
        start local 3 // javafx.beans.value.ChangeListener itemsObserver
         8: .line 553
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.itemsProperty:()Ljavafx/beans/property/ObjectProperty;
            aload 3 /* itemsObserver */
            invokevirtual javafx.beans.property.ObjectProperty.addListener:(Ljavafx/beans/value/ChangeListener;)V
         9: .line 554
            return
        end local 3 // javafx.beans.value.ChangeListener itemsObserver
        end local 2 // javafx.collections.ListChangeListener itemsContentObserver
        end local 1 // javafx.scene.control.ChoiceBox cb
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   10     0                  this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            0   10     1                    cb  Ljavafx/scene/control/ChoiceBox<TT;>;
            5   10     2  itemsContentObserver  Ljavafx/collections/ListChangeListener<TT;>;
            8   10     3         itemsObserver  Ljavafx/beans/value/ChangeListener<Ljavafx/collections/ObservableList<TT;>;>;
    Signature: (Ljavafx/scene/control/ChoiceBox<TT;>;)V
    MethodParameters:
      Name  Flags
      cb    final

  protected T getModelItem();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
        start local 1 // int index
         0: .line 558
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            astore 2 /* items */
        start local 2 // javafx.collections.ObservableList items
         1: .line 559
            aload 2 /* items */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 560
      StackMap locals: javafx.collections.ObservableList
      StackMap stack:
            iload 1 /* index */
            iflt 3
            iload 1 /* index */
            aload 2 /* items */
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmplt 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
            areturn
         4: .line 561
      StackMap locals:
      StackMap stack:
            aload 2 /* items */
            iload 1 /* index */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            areturn
        end local 2 // javafx.collections.ObservableList items
        end local 1 // int index
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            0    5     1  index  I
            1    5     2  items  Ljavafx/collections/ObservableList<TT;>;
    Signature: (I)TT;
    MethodParameters:
       Name  Flags
      index  

  protected int getItemCount();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
         0: .line 565
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            astore 1 /* items */
        start local 1 // javafx.collections.ObservableList items
         1: .line 566
            aload 1 /* items */
            ifnonnull 2
            iconst_0
            goto 3
      StackMap locals: javafx.collections.ObservableList
      StackMap stack:
         2: aload 1 /* items */
            invokeinterface javafx.collections.ObservableList.size:()I
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 1 // javafx.collections.ObservableList items
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            1    4     1  items  Ljavafx/collections/ObservableList<TT;>;

  public void select(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
        start local 1 // int index
         0: .line 578
            aload 0 /* this */
            iload 1 /* index */
            invokespecial javafx.scene.control.SingleSelectionModel.select:(I)V
         1: .line 580
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.isShowing:()Z
            ifeq 3
         2: .line 581
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.hide:()V
         3: .line 583
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            0    4     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void selectPrevious();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
         0: .line 588
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedIndex:()I
            iconst_1
            isub
            istore 1 /* index */
        start local 1 // int index
         1: .line 589
            goto 8
         2: .line 590
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getModelItem:(I)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         3: .line 591
            aload 2 /* value */
            instanceof javafx.scene.control.Separator
            ifeq 6
         4: .line 592
            iinc 1 /* index */ -1
         5: .line 593
            goto 8
         6: .line 594
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.select:(I)V
         7: .line 595
            goto 9
        end local 2 // java.lang.Object value
         8: .line 589
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            ifge 2
         9: .line 598
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            1   10     1  index  I
            3    8     2  value  TT;

  public void selectNext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
         0: .line 603
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedIndex:()I
            iconst_1
            iadd
            istore 1 /* index */
        start local 1 // int index
         1: .line 604
            goto 8
         2: .line 605
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getModelItem:(I)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         3: .line 606
            aload 2 /* value */
            instanceof javafx.scene.control.Separator
            ifeq 6
         4: .line 607
            iinc 1 /* index */ 1
         5: .line 608
            goto 8
         6: .line 609
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.select:(I)V
         7: .line 610
            goto 9
        end local 2 // java.lang.Object value
         8: .line 604
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getItemCount:()I
            if_icmplt 2
         9: .line 613
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            1   10     1  index  I
            3    8     2  value  TT;

  private void lambda$0(javafx.collections.ListChangeListener$Change);
    descriptor: (Ljavafx/collections/ListChangeListener$Change;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 524
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            ifnull 1
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.isEmpty:()Z
            ifeq 3
         1: .line 525
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.setSelectedIndex:(I)V
         2: .line 526
            goto 7
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedIndex:()I
            iconst_m1
            if_icmpne 7
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedItem:()Ljava/lang/Object;
            ifnull 7
         4: .line 527
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedItem:()Ljava/lang/Object;
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            istore 2 /* newIndex */
        start local 2 // int newIndex
         5: .line 528
            iload 2 /* newIndex */
            iconst_m1
            if_icmpeq 7
         6: .line 529
            aload 0 /* this */
            iload 2 /* newIndex */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.setSelectedIndex:(I)V
        end local 2 // int newIndex
         7: .line 532
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            0    8     1         c  Ljavafx/collections/ListChangeListener$Change<+TT;>;
            5    7     2  newIndex  I

  private void lambda$1(javafx.collections.ListChangeListener, javafx.beans.value.ObservableValue, javafx.collections.ObservableList, javafx.collections.ObservableList);
    descriptor: (Ljavafx/collections/ListChangeListener;Ljavafx/beans/value/ObservableValue;Ljavafx/collections/ObservableList;Ljavafx/collections/ObservableList;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=6, args_size=5
        start local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
        start local 2 // javafx.beans.value.ObservableValue valueModel
        start local 3 // javafx.collections.ObservableList oldList
        start local 4 // javafx.collections.ObservableList newList
         0: .line 539
            aload 3 /* oldList */
            ifnull 2
         1: .line 540
            aload 3 /* oldList */
            aload 1
            invokeinterface javafx.collections.ObservableList.removeListener:(Ljavafx/collections/ListChangeListener;)V
         2: .line 542
      StackMap locals:
      StackMap stack:
            aload 4 /* newList */
            ifnull 4
         3: .line 543
            aload 4 /* newList */
            aload 1
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
         4: .line 545
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.setSelectedIndex:(I)V
         5: .line 546
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedItem:()Ljava/lang/Object;
            ifnull 9
         6: .line 547
            aload 0 /* this */
            getfield javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.choiceBox:Ljavafx/scene/control/ChoiceBox;
            invokevirtual javafx.scene.control.ChoiceBox.getItems:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.getSelectedItem:()Ljava/lang/Object;
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            istore 5 /* newIndex */
        start local 5 // int newIndex
         7: .line 548
            iload 5 /* newIndex */
            iconst_m1
            if_icmpeq 9
         8: .line 549
            aload 0 /* this */
            iload 5 /* newIndex */
            invokevirtual javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel.setSelectedIndex:(I)V
        end local 5 // int newIndex
         9: .line 552
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javafx.collections.ObservableList newList
        end local 3 // javafx.collections.ObservableList oldList
        end local 2 // javafx.beans.value.ObservableValue valueModel
        end local 0 // javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljavafx/scene/control/ChoiceBox$ChoiceBoxSelectionModel<TT;>;
            0   10     2  valueModel  Ljavafx/beans/value/ObservableValue<+Ljavafx/collections/ObservableList<TT;>;>;
            0   10     3     oldList  Ljavafx/collections/ObservableList<TT;>;
            0   10     4     newList  Ljavafx/collections/ObservableList<TT;>;
            7    9     5    newIndex  I
}
Signature: <T:Ljava/lang/Object;>Ljavafx/scene/control/SingleSelectionModel<TT;>;
SourceFile: "ChoiceBox.java"
NestHost: javafx.scene.control.ChoiceBox
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Change = javafx.collections.ListChangeListener$Change of javafx.collections.ListChangeListener
  ChoiceBoxSelectionModel = javafx.scene.control.ChoiceBox$ChoiceBoxSelectionModel of javafx.scene.control.ChoiceBox