class javafx.scene.control.TabPane$TabPaneSelectionModel extends javafx.scene.control.SingleSelectionModel<javafx.scene.control.Tab>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.control.TabPane$TabPaneSelectionModel
  super_class: javafx.scene.control.SingleSelectionModel
{
  private final javafx.scene.control.TabPane tabPane;
    descriptor: Ljavafx/scene/control/TabPane;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private javafx.collections.ListChangeListener<javafx.scene.control.Tab> itemsContentObserver;
    descriptor: Ljavafx/collections/ListChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/ListChangeListener<Ljavafx/scene/control/Tab;>;

  public void <init>(javafx.scene.control.TabPane);
    descriptor: (Ljavafx/scene/control/TabPane;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // javafx.scene.control.TabPane t
         0: .line 678
            aload 0 /* this */
            invokespecial javafx.scene.control.SingleSelectionModel.<init>:()V
         1: .line 679
            aload 1 /* t */
            ifnonnull 3
         2: .line 680
            new java.lang.NullPointerException
            dup
            ldc "TabPane can not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 682
      StackMap locals: javafx.scene.control.TabPane$TabPaneSelectionModel javafx.scene.control.TabPane
      StackMap stack:
            aload 0 /* this */
            aload 1 /* t */
            putfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
         4: .line 685
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/scene/control/TabPane$TabPaneSelectionModel;)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/TabPane$TabPaneSelectionModel.lambda$0(Ljavafx/collections/ListChangeListener$Change;)V (7)
                  (Ljavafx/collections/ListChangeListener$Change;)V
            putfield javafx.scene.control.TabPane$TabPaneSelectionModel.itemsContentObserver:Ljavafx/collections/ListChangeListener;
         5: .line 715
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            ifnull 7
         6: .line 716
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            new javafx.collections.WeakListChangeListener
            dup
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.itemsContentObserver:Ljavafx/collections/ListChangeListener;
            invokespecial javafx.collections.WeakListChangeListener.<init>:(Ljavafx/collections/ListChangeListener;)V
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
         7: .line 718
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.scene.control.TabPane t
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0    8     1     t  Ljavafx/scene/control/TabPane;
    MethodParameters:
      Name  Flags
      t     final

  public void select(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // int index
         0: .line 722
            iload 1 /* index */
            iflt 2
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getItemCount:()I
            ifle 1
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getItemCount:()I
            if_icmpge 2
         1: .line 723
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            if_icmpne 3
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            invokevirtual javafx.scene.control.Tab.isSelected:()Z
            ifeq 3
         2: .line 724
      StackMap locals:
      StackMap stack:
            return
         3: .line 728
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            iflt 5
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmpge 5
         4: .line 729
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.Tab
            iconst_0
            invokevirtual javafx.scene.control.Tab.setSelected:(Z)V
         5: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.setSelectedIndex:(I)V
         6: .line 734
            aload 0 /* this */
            iload 1 /* index */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            astore 2 /* tab */
        start local 2 // javafx.scene.control.Tab tab
         7: .line 735
            aload 2 /* tab */
            ifnull 9
         8: .line 736
            aload 0 /* this */
            aload 2 /* tab */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.setSelectedItem:(Ljava/lang/Object;)V
         9: .line 740
      StackMap locals: javafx.scene.control.Tab
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            iflt 11
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmpge 11
        10: .line 741
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.Tab
            iconst_1
            invokevirtual javafx.scene.control.Tab.setSelected:(Z)V
        11: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            getstatic javafx.scene.AccessibleAttribute.FOCUS_ITEM:Ljavafx/scene/AccessibleAttribute;
            invokevirtual javafx.scene.control.TabPane.notifyAccessibleAttributeChanged:(Ljavafx/scene/AccessibleAttribute;)V
        12: .line 746
            return
        end local 2 // javafx.scene.control.Tab tab
        end local 1 // int index
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0   13     1  index  I
            7   13     2    tab  Ljavafx/scene/control/Tab;
    MethodParameters:
       Name  Flags
      index  

  public void select(javafx.scene.control.Tab);
    descriptor: (Ljavafx/scene/control/Tab;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // javafx.scene.control.Tab tab
         0: .line 749
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getItemCount:()I
            istore 2 /* itemCount */
        start local 2 // int itemCount
         1: .line 751
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 752
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            astore 4 /* value */
        start local 4 // javafx.scene.control.Tab value
         4: .line 753
            aload 4 /* value */
            ifnull 7
            aload 4 /* value */
            aload 1 /* tab */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         5: .line 754
            aload 0 /* this */
            iload 3 /* i */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.select:(I)V
         6: .line 755
            return
        end local 4 // javafx.scene.control.Tab value
         7: .line 751
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* itemCount */
            if_icmplt 3
        end local 3 // int i
         9: .line 758
            return
        end local 2 // int itemCount
        end local 1 // javafx.scene.control.Tab tab
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0       this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0   10     1        tab  Ljavafx/scene/control/Tab;
            1   10     2  itemCount  I
            2    9     3          i  I
            4    7     4      value  Ljavafx/scene/control/Tab;
    MethodParameters:
      Name  Flags
      tab   

  protected javafx.scene.control.Tab getModelItem(int);
    descriptor: (I)Ljavafx/scene/control/Tab;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // int index
         0: .line 761
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            astore 2 /* items */
        start local 2 // javafx.collections.ObservableList items
         1: .line 762
            aload 2 /* items */
            ifnonnull 2
            aconst_null
            areturn
         2: .line 763
      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 764
      StackMap locals:
      StackMap stack:
            aload 2 /* items */
            iload 1 /* index */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.Tab
            areturn
        end local 2 // javafx.collections.ObservableList items
        end local 1 // int index
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0    5     1  index  I
            1    5     2  items  Ljavafx/collections/ObservableList<Ljavafx/scene/control/Tab;>;
    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.TabPane$TabPaneSelectionModel this
         0: .line 768
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            astore 1 /* items */
        start local 1 // javafx.collections.ObservableList items
         1: .line 769
            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.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            1    4     1  items  Ljavafx/collections/ObservableList<Ljavafx/scene/control/Tab;>;

  private javafx.scene.control.Tab findNearestAvailableTab(int, boolean);
    descriptor: (IZ)Ljavafx/scene/control/Tab;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // int tabIndex
        start local 2 // boolean doSelect
         0: .line 775
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getItemCount:()I
            istore 3 /* tabCount */
        start local 3 // int tabCount
         1: .line 776
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         2: .line 777
            aconst_null
            astore 5 /* bestTab */
        start local 5 // javafx.scene.control.Tab bestTab
         3: .line 780
      StackMap locals: int int javafx.scene.control.Tab
      StackMap stack:
            iload 1 /* tabIndex */
            iload 4 /* i */
            isub
            istore 6 /* downPos */
        start local 6 // int downPos
         4: .line 781
            iload 6 /* downPos */
            iflt 9
         5: .line 782
            aload 0 /* this */
            iload 6 /* downPos */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            astore 7 /* _tab */
        start local 7 // javafx.scene.control.Tab _tab
         6: .line 783
            aload 7 /* _tab */
            ifnull 9
            aload 7 /* _tab */
            invokevirtual javafx.scene.control.Tab.isDisable:()Z
            ifne 9
         7: .line 784
            aload 7 /* _tab */
            astore 5 /* bestTab */
         8: .line 785
            goto 19
        end local 7 // javafx.scene.control.Tab _tab
         9: .line 794
      StackMap locals: int
      StackMap stack:
            iload 1 /* tabIndex */
            iload 4 /* i */
            iadd
            iconst_1
            isub
            istore 7 /* upPos */
        start local 7 // int upPos
        10: .line 795
            iload 7 /* upPos */
            iload 3 /* tabCount */
            if_icmpge 15
        11: .line 796
            aload 0 /* this */
            iload 7 /* upPos */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            astore 8 /* _tab */
        start local 8 // javafx.scene.control.Tab _tab
        12: .line 797
            aload 8 /* _tab */
            ifnull 15
            aload 8 /* _tab */
            invokevirtual javafx.scene.control.Tab.isDisable:()Z
            ifne 15
        13: .line 798
            aload 8 /* _tab */
            astore 5 /* bestTab */
        14: .line 799
            goto 19
        end local 8 // javafx.scene.control.Tab _tab
        15: .line 803
      StackMap locals: int
      StackMap stack:
            iload 6 /* downPos */
            ifge 17
            iload 7 /* upPos */
            iload 3 /* tabCount */
            if_icmplt 17
        16: .line 804
            goto 19
        17: .line 806
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 7 // int upPos
        end local 6 // int downPos
        18: .line 778
            goto 3
        19: .line 809
      StackMap locals:
      StackMap stack:
            iload 2 /* doSelect */
            ifeq 21
            aload 5 /* bestTab */
            ifnull 21
        20: .line 810
            aload 0 /* this */
            aload 5 /* bestTab */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.select:(Ljavafx/scene/control/Tab;)V
        21: .line 813
      StackMap locals:
      StackMap stack:
            aload 5 /* bestTab */
            areturn
        end local 5 // javafx.scene.control.Tab bestTab
        end local 4 // int i
        end local 3 // int tabCount
        end local 2 // boolean doSelect
        end local 1 // int tabIndex
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   22     0      this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0   22     1  tabIndex  I
            0   22     2  doSelect  Z
            1   22     3  tabCount  I
            2   22     4         i  I
            3   22     5   bestTab  Ljavafx/scene/control/Tab;
            4   18     6   downPos  I
            6    9     7      _tab  Ljavafx/scene/control/Tab;
           10   18     7     upPos  I
           12   15     8      _tab  Ljavafx/scene/control/Tab;
    MethodParameters:
          Name  Flags
      tabIndex  
      doSelect  

  public void select(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast javafx.scene.control.Tab
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.select:(Ljavafx/scene/control/Tab;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected java.lang.Object getModelItem(int);
    descriptor: (I)Ljava/lang/Object;
    flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            iload 1
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getModelItem:(I)Ljavafx/scene/control/Tab;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(javafx.collections.ListChangeListener$Change);
    descriptor: (Ljavafx/collections/ListChangeListener$Change;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 686
            goto 12
         1: .line 687
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getRemoved:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: javafx.scene.control.TabPane$TabPaneSelectionModel javafx.collections.ListChangeListener$Change top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.scene.control.Tab
            astore 2 /* tab */
        start local 2 // javafx.scene.control.Tab tab
         3: .line 688
            aload 2 /* tab */
            ifnull 8
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            aload 2 /* tab */
            invokeinterface javafx.collections.ObservableList.contains:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 689
            aload 2 /* tab */
            invokevirtual javafx.scene.control.Tab.isSelected:()Z
            ifeq 8
         5: .line 690
            aload 2 /* tab */
            iconst_0
            invokevirtual javafx.scene.control.Tab.setSelected:(Z)V
         6: .line 691
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getFrom:()I
            istore 4 /* tabIndex */
        start local 4 // int tabIndex
         7: .line 695
            aload 0 /* this */
            iload 4 /* tabIndex */
            iconst_1
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.findNearestAvailableTab:(IZ)Ljavafx/scene/control/Tab;
            pop
        end local 4 // int tabIndex
        end local 2 // javafx.scene.control.Tab tab
         8: .line 687
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 699
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasAdded:()Z
            ifne 10
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasRemoved:()Z
            ifeq 12
        10: .line 702
      StackMap locals: javafx.scene.control.TabPane$TabPaneSelectionModel javafx.collections.ListChangeListener$Change
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedItem:()Ljava/lang/Object;
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            if_icmpeq 12
        11: .line 703
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedItem:()Ljava/lang/Object;
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.clearAndSelect:(I)V
        12: .line 686
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 1
        13: .line 707
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedIndex:()I
            iconst_m1
            if_icmpne 16
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.getSelectedItem:()Ljava/lang/Object;
            ifnonnull 16
            aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            ifle 16
        14: .line 710
            aload 0 /* this */
            iconst_0
            iconst_1
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.findNearestAvailableTab:(IZ)Ljavafx/scene/control/Tab;
            pop
        15: .line 711
            goto 18
      StackMap locals:
      StackMap stack:
        16: aload 0 /* this */
            getfield javafx.scene.control.TabPane$TabPaneSelectionModel.tabPane:Ljavafx/scene/control/TabPane;
            invokevirtual javafx.scene.control.TabPane.getTabs:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.isEmpty:()Z
            ifeq 18
        17: .line 712
            aload 0 /* this */
            invokevirtual javafx.scene.control.TabPane$TabPaneSelectionModel.clearSelection:()V
        18: .line 714
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.scene.control.TabPane$TabPaneSelectionModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Ljavafx/scene/control/TabPane$TabPaneSelectionModel;
            0   19     1         c  Ljavafx/collections/ListChangeListener$Change<+Ljavafx/scene/control/Tab;>;
            3    8     2       tab  Ljavafx/scene/control/Tab;
            7    8     4  tabIndex  I
}
Signature: Ljavafx/scene/control/SingleSelectionModel<Ljavafx/scene/control/Tab;>;
SourceFile: "TabPane.java"
NestHost: javafx.scene.control.TabPane
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
  TabPaneSelectionModel = javafx.scene.control.TabPane$TabPaneSelectionModel of javafx.scene.control.TabPane