class javafx.scene.control.ListView$ListViewBitSetSelectionModel$1 implements javafx.collections.ListChangeListener<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.control.ListView$ListViewBitSetSelectionModel$1
  super_class: java.lang.Object
{
  final javafx.scene.control.ListView$ListViewBitSetSelectionModel this$1;
    descriptor: Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(javafx.scene.control.ListView$ListViewBitSetSelectionModel);
    descriptor: (Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.control.ListView$ListViewBitSetSelectionModel$1 this
         0: .line 1257
            aload 0 /* this */
            aload 1
            putfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javafx.scene.control.ListView$ListViewBitSetSelectionModel$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel$1;
    MethodParameters:
        Name  Flags
      this$0  final

  public void onChanged(javafx.collections.ListChangeListener$Change<? extends T>);
    descriptor: (Ljavafx/collections/ListChangeListener$Change;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // javafx.scene.control.ListView$ListViewBitSetSelectionModel$1 this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 1259
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.updateItemCount:()V
         1: .line 1261
            iconst_1
            istore 2 /* doSelectionUpdate */
        start local 2 // boolean doSelectionUpdate
         2: .line 1263
            goto 31
         3: .line 1264
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.getSelectedItem:()Ljava/lang/Object;
            astore 3 /* selectedItem */
        start local 3 // java.lang.Object selectedItem
         4: .line 1265
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.getSelectedIndex:()I
            istore 4 /* selectedIndex */
        start local 4 // int selectedIndex
         5: .line 1267
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel.listView:Ljavafx/scene/control/ListView;
            invokevirtual javafx.scene.control.ListView.getItems:()Ljavafx/collections/ObservableList;
            ifnull 6
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel.listView:Ljavafx/scene/control/ListView;
            invokevirtual javafx.scene.control.ListView.getItems:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.isEmpty:()Z
            ifeq 10
         6: .line 1268
      StackMap locals: java.lang.Object int
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            aload 1 /* c */
            putfield javafx.scene.control.ListView$ListViewBitSetSelectionModel.selectedItemChange:Ljavafx/collections/ListChangeListener$Change;
         7: .line 1269
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.clearSelection:()V
         8: .line 1270
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            aconst_null
            putfield javafx.scene.control.ListView$ListViewBitSetSelectionModel.selectedItemChange:Ljavafx/collections/ListChangeListener$Change;
         9: .line 1271
            goto 31
      StackMap locals:
      StackMap stack:
        10: iload 4 /* selectedIndex */
            iconst_m1
            if_icmpne 16
            aload 3 /* selectedItem */
            ifnull 16
        11: .line 1272
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel.listView:Ljavafx/scene/control/ListView;
            invokevirtual javafx.scene.control.ListView.getItems:()Ljavafx/collections/ObservableList;
            aload 3 /* selectedItem */
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            istore 5 /* newIndex */
        start local 5 // int newIndex
        12: .line 1273
            iload 5 /* newIndex */
            iconst_m1
            if_icmpeq 31
        13: .line 1274
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            iload 5 /* newIndex */
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.setSelectedIndex:(I)V
        14: .line 1275
            iconst_0
            istore 2 /* doSelectionUpdate */
        end local 5 // int newIndex
        15: .line 1277
            goto 31
      StackMap locals:
      StackMap stack:
        16: aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasRemoved:()Z
            ifeq 31
        17: .line 1278
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getRemovedSize:()I
            iconst_1
            if_icmpne 31
        18: .line 1279
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasAdded:()Z
            ifne 31
        19: .line 1280
            aload 3 /* selectedItem */
            ifnull 31
        20: .line 1281
            aload 3 /* selectedItem */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getRemoved:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 31
        21: .line 1283
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.getSelectedIndex:()I
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.getItemCount:()I
            if_icmpge 31
        22: .line 1284
            iload 4 /* selectedIndex */
            ifne 23
            iconst_0
            goto 24
      StackMap locals:
      StackMap stack:
        23: iload 4 /* selectedIndex */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        24: istore 5 /* previousRow */
        start local 5 // int previousRow
        25: .line 1285
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            iload 5 /* previousRow */
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.getModelItem:(I)Ljava/lang/Object;
            astore 6 /* newSelectedItem */
        start local 6 // java.lang.Object newSelectedItem
        26: .line 1286
            aload 3 /* selectedItem */
            aload 6 /* newSelectedItem */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 31
        27: .line 1287
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.startAtomic:()V
        28: .line 1288
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            iload 4 /* selectedIndex */
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.clearSelection:(I)V
        29: .line 1289
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.stopAtomic:()V
        30: .line 1290
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            aload 6 /* newSelectedItem */
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.select:(Ljava/lang/Object;)V
        end local 6 // java.lang.Object newSelectedItem
        end local 5 // int previousRow
        end local 4 // int selectedIndex
        end local 3 // java.lang.Object selectedItem
        31: .line 1263
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 3
        32: .line 1296
            iload 2 /* doSelectionUpdate */
            ifeq 34
        33: .line 1297
            aload 0 /* this */
            getfield javafx.scene.control.ListView$ListViewBitSetSelectionModel$1.this$1:Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel;
            aload 1 /* c */
            invokevirtual javafx.scene.control.ListView$ListViewBitSetSelectionModel.updateSelection:(Ljavafx/collections/ListChangeListener$Change;)V
        34: .line 1299
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean doSelectionUpdate
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.scene.control.ListView$ListViewBitSetSelectionModel$1 this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Ljavafx/scene/control/ListView$ListViewBitSetSelectionModel$1;
            0   35     1                  c  Ljavafx/collections/ListChangeListener$Change<+TT;>;
            2   35     2  doSelectionUpdate  Z
            4   31     3       selectedItem  TT;
            5   31     4      selectedIndex  I
           12   15     5           newIndex  I
           25   31     5        previousRow  I
           26   31     6    newSelectedItem  TT;
    Signature: (Ljavafx/collections/ListChangeListener$Change<+TT;>;)V
    MethodParameters:
      Name  Flags
      c     
}
Signature: Ljava/lang/Object;Ljavafx/collections/ListChangeListener<TT;>;
SourceFile: "ListView.java"
EnclosingMethod: javafx.scene.control.ListView$ListViewBitSetSelectionModel
NestHost: javafx.scene.control.ListView
InnerClasses:
  public abstract Change = javafx.collections.ListChangeListener$Change of javafx.collections.ListChangeListener
  ListViewBitSetSelectionModel = javafx.scene.control.ListView$ListViewBitSetSelectionModel of javafx.scene.control.ListView
  javafx.scene.control.ListView$ListViewBitSetSelectionModel$1