public class javafx.scene.control.TableView$TableViewFocusModel<S> extends javafx.scene.control.TableFocusModel<S, javafx.scene.control.TableColumn<S, ?>>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: javafx.scene.control.TableView$TableViewFocusModel
  super_class: javafx.scene.control.TableFocusModel
{
  private final javafx.scene.control.TableView<S> tableView;
    descriptor: Ljavafx/scene/control/TableView;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavafx/scene/control/TableView<TS;>;

  private final javafx.scene.control.TablePosition<S, ?> EMPTY_CELL;
    descriptor: Ljavafx/scene/control/TablePosition;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavafx/scene/control/TablePosition<TS;*>;

  private final javafx.beans.InvalidationListener itemsObserver;
    descriptor: Ljavafx/beans/InvalidationListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final javafx.collections.ListChangeListener<S> itemsContentListener;
    descriptor: Ljavafx/collections/ListChangeListener;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljavafx/collections/ListChangeListener<TS;>;

  private javafx.collections.WeakListChangeListener<S> weakItemsContentListener;
    descriptor: Ljavafx/collections/WeakListChangeListener;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/collections/WeakListChangeListener<TS;>;

  private javafx.beans.property.ReadOnlyObjectWrapper<javafx.scene.control.TablePosition> focusedCell;
    descriptor: Ljavafx/beans/property/ReadOnlyObjectWrapper;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljavafx/beans/property/ReadOnlyObjectWrapper<Ljavafx/scene/control/TablePosition;>;

  public void <init>(javafx.scene.control.TableView<S>);
    descriptor: (Ljavafx/scene/control/TableView;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.scene.control.TableView tableView
         0: .line 3060
            aload 0 /* this */
            invokespecial javafx.scene.control.TableFocusModel.<init>:()V
         1: .line 3093
            aload 0 /* this */
            aload 0 /* this */
            invokedynamic onChanged(Ljavafx/scene/control/TableView$TableViewFocusModel;)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/TableView$TableViewFocusModel.lambda$0(Ljavafx/collections/ListChangeListener$Change;)V (7)
                  (Ljavafx/collections/ListChangeListener$Change;)V
            putfield javafx.scene.control.TableView$TableViewFocusModel.itemsContentListener:Ljavafx/collections/ListChangeListener;
         2: .line 3134
            aload 0 /* this */
         3: .line 3135
            new javafx.collections.WeakListChangeListener
            dup
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.itemsContentListener:Ljavafx/collections/ListChangeListener;
            invokespecial javafx.collections.WeakListChangeListener.<init>:(Ljavafx/collections/ListChangeListener;)V
            putfield javafx.scene.control.TableView$TableViewFocusModel.weakItemsContentListener:Ljavafx/collections/WeakListChangeListener;
         4: .line 3061
            aload 1 /* tableView */
            ifnonnull 6
         5: .line 3062
            new java.lang.NullPointerException
            dup
            ldc "TableView can not be null"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 3065
      StackMap locals: javafx.scene.control.TableView$TableViewFocusModel javafx.scene.control.TableView
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tableView */
            putfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
         7: .line 3066
            aload 0 /* this */
            new javafx.scene.control.TablePosition
            dup
            aload 1 /* tableView */
            iconst_m1
            aconst_null
            invokespecial javafx.scene.control.TablePosition.<init>:(Ljavafx/scene/control/TableView;ILjavafx/scene/control/TableColumn;)V
            putfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
         8: .line 3068
            aload 0 /* this */
            new javafx.scene.control.TableView$TableViewFocusModel$1
            dup
            aload 0 /* this */
            aload 1 /* tableView */
            invokespecial javafx.scene.control.TableView$TableViewFocusModel$1.<init>:(Ljavafx/scene/control/TableView$TableViewFocusModel;Ljavafx/scene/control/TableView;)V
            putfield javafx.scene.control.TableView$TableViewFocusModel.itemsObserver:Ljavafx/beans/InvalidationListener;
         9: .line 3077
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.itemsProperty:()Ljavafx/beans/property/ObjectProperty;
            new javafx.beans.WeakInvalidationListener
            dup
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.itemsObserver:Ljavafx/beans/InvalidationListener;
            invokespecial javafx.beans.WeakInvalidationListener.<init>:(Ljavafx/beans/InvalidationListener;)V
            invokevirtual javafx.beans.property.ObjectProperty.addListener:(Ljavafx/beans/InvalidationListener;)V
        10: .line 3078
            aload 1 /* tableView */
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            ifnull 12
        11: .line 3079
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.weakItemsContentListener:Ljavafx/collections/WeakListChangeListener;
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
        12: .line 3082
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.updateDefaultFocus:()V
        13: .line 3084
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focusedCellProperty:()Ljavafx/beans/property/ReadOnlyObjectProperty;
            aload 1 /* tableView */
            invokedynamic invalidated(Ljavafx/scene/control/TableView;)Ljavafx/beans/InvalidationListener;
              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/Observable;)V
                  javafx/scene/control/TableView$TableViewFocusModel.lambda$1(Ljavafx/scene/control/TableView;Ljavafx/beans/Observable;)V (6)
                  (Ljavafx/beans/Observable;)V
            invokevirtual javafx.beans.property.ReadOnlyObjectProperty.addListener:(Ljavafx/beans/InvalidationListener;)V
        14: .line 3087
            return
        end local 1 // javafx.scene.control.TableView tableView
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0   15     1  tableView  Ljavafx/scene/control/TableView<TS;>;
    Signature: (Ljavafx/scene/control/TableView<TS;>;)V
    MethodParameters:
           Name  Flags
      tableView  final

  private void updateItemsObserver(javafx.collections.ObservableList<S>, javafx.collections.ObservableList<S>);
    descriptor: (Ljavafx/collections/ObservableList;Ljavafx/collections/ObservableList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.collections.ObservableList oldList
        start local 2 // javafx.collections.ObservableList newList
         0: .line 3140
            aload 1 /* oldList */
            ifnull 1
            aload 1 /* oldList */
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.weakItemsContentListener:Ljavafx/collections/WeakListChangeListener;
            invokeinterface javafx.collections.ObservableList.removeListener:(Ljavafx/collections/ListChangeListener;)V
         1: .line 3141
      StackMap locals:
      StackMap stack:
            aload 2 /* newList */
            ifnull 2
            aload 2 /* newList */
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.weakItemsContentListener:Ljavafx/collections/WeakListChangeListener;
            invokeinterface javafx.collections.ObservableList.addListener:(Ljavafx/collections/ListChangeListener;)V
         2: .line 3143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.updateDefaultFocus:()V
         3: .line 3144
            return
        end local 2 // javafx.collections.ObservableList newList
        end local 1 // javafx.collections.ObservableList oldList
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    4     1  oldList  Ljavafx/collections/ObservableList<TS;>;
            0    4     2  newList  Ljavafx/collections/ObservableList<TS;>;
    Signature: (Ljavafx/collections/ObservableList<TS;>;Ljavafx/collections/ObservableList<TS;>;)V
    MethodParameters:
         Name  Flags
      oldList  
      newList  

  protected int getItemCount();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3148
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            ifnonnull 1
            iconst_m1
            ireturn
         1: .line 3149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            ireturn
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;

  protected S getModelItem();
    descriptor: (I)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // int index
         0: .line 3154
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            ifnonnull 1
            aconst_null
            areturn
         1: .line 3156
      StackMap locals:
      StackMap stack:
            iload 1 /* index */
            iflt 2
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            if_icmplt 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
            areturn
         3: .line 3158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            iload 1 /* index */
            invokeinterface javafx.collections.ObservableList.get:(I)Ljava/lang/Object;
            areturn
        end local 1 // int index
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    4     1  index  I
    Signature: (I)TS;
    MethodParameters:
       Name  Flags
      index  

  public final javafx.beans.property.ReadOnlyObjectProperty<javafx.scene.control.TablePosition> focusedCellProperty();
    descriptor: ()Ljavafx/beans/property/ReadOnlyObjectProperty;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3166
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focusedCellPropertyImpl:()Ljavafx/beans/property/ReadOnlyObjectWrapper;
            invokevirtual javafx.beans.property.ReadOnlyObjectWrapper.getReadOnlyProperty:()Ljavafx/beans/property/ReadOnlyObjectProperty;
            areturn
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
    Signature: ()Ljavafx/beans/property/ReadOnlyObjectProperty<Ljavafx/scene/control/TablePosition;>;

  private void setFocusedCell(javafx.scene.control.TablePosition);
    descriptor: (Ljavafx/scene/control/TablePosition;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.scene.control.TablePosition value
         0: .line 3168
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focusedCellPropertyImpl:()Ljavafx/beans/property/ReadOnlyObjectWrapper;
            aload 1 /* value */
            invokevirtual javafx.beans.property.ReadOnlyObjectWrapper.set:(Ljava/lang/Object;)V
            return
        end local 1 // javafx.scene.control.TablePosition value
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    1     1  value  Ljavafx/scene/control/TablePosition;
    MethodParameters:
       Name  Flags
      value  

  public final javafx.scene.control.TablePosition getFocusedCell();
    descriptor: ()Ljavafx/scene/control/TablePosition;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3169
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.focusedCell:Ljavafx/beans/property/ReadOnlyObjectWrapper;
            ifnonnull 1
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.focusedCell:Ljavafx/beans/property/ReadOnlyObjectWrapper;
            invokevirtual javafx.beans.property.ReadOnlyObjectWrapper.get:()Ljava/lang/Object;
            checkcast javafx.scene.control.TablePosition
      StackMap locals:
      StackMap stack: javafx.scene.control.TablePosition
         2: areturn
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;

  private javafx.beans.property.ReadOnlyObjectWrapper<javafx.scene.control.TablePosition> focusedCellPropertyImpl();
    descriptor: ()Ljavafx/beans/property/ReadOnlyObjectWrapper;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3172
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.focusedCell:Ljavafx/beans/property/ReadOnlyObjectWrapper;
            ifnonnull 2
         1: .line 3173
            aload 0 /* this */
            new javafx.scene.control.TableView$TableViewFocusModel$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
            invokespecial javafx.scene.control.TableView$TableViewFocusModel$2.<init>:(Ljavafx/scene/control/TableView$TableViewFocusModel;Ljavafx/scene/control/TablePosition;)V
            putfield javafx.scene.control.TableView$TableViewFocusModel.focusedCell:Ljavafx/beans/property/ReadOnlyObjectWrapper;
         2: .line 3197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.focusedCell:Ljavafx/beans/property/ReadOnlyObjectWrapper;
            areturn
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
    Signature: ()Ljavafx/beans/property/ReadOnlyObjectWrapper<Ljavafx/scene/control/TablePosition;>;

  public void focus(int, javafx.scene.control.TableColumn<S, ?>);
    descriptor: (ILjavafx/scene/control/TableColumn;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // int row
        start local 2 // javafx.scene.control.TableColumn column
         0: .line 3208
            iload 1 /* row */
            iflt 1
            iload 1 /* row */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            if_icmplt 3
         1: .line 3209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedCell:(Ljavafx/scene/control/TablePosition;)V
         2: .line 3210
            goto 9
         3: .line 3211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 3 /* oldFocusCell */
        start local 3 // javafx.scene.control.TablePosition oldFocusCell
         4: .line 3212
            new javafx.scene.control.TablePosition
            dup
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            iload 1 /* row */
            aload 2 /* column */
            invokespecial javafx.scene.control.TablePosition.<init>:(Ljavafx/scene/control/TableView;ILjavafx/scene/control/TableColumn;)V
            astore 4 /* newFocusCell */
        start local 4 // javafx.scene.control.TablePosition newFocusCell
         5: .line 3213
            aload 0 /* this */
            aload 4 /* newFocusCell */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedCell:(Ljavafx/scene/control/TablePosition;)V
         6: .line 3215
            aload 4 /* newFocusCell */
            aload 3 /* oldFocusCell */
            invokevirtual javafx.scene.control.TablePosition.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 3217
            aload 0 /* this */
            iload 1 /* row */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedIndex:(I)V
         8: .line 3218
            aload 0 /* this */
            aload 0 /* this */
            iload 1 /* row */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getModelItem:(I)Ljava/lang/Object;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedItem:(Ljava/lang/Object;)V
        end local 4 // javafx.scene.control.TablePosition newFocusCell
        end local 3 // javafx.scene.control.TablePosition oldFocusCell
         9: .line 3221
      StackMap locals:
      StackMap stack:
            return
        end local 2 // javafx.scene.control.TableColumn column
        end local 1 // int row
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0   10     1           row  I
            0   10     2        column  Ljavafx/scene/control/TableColumn<TS;*>;
            4    9     3  oldFocusCell  Ljavafx/scene/control/TablePosition<TS;*>;
            5    9     4  newFocusCell  Ljavafx/scene/control/TablePosition<TS;*>;
    Signature: (ILjavafx/scene/control/TableColumn<TS;*>;)V
    MethodParameters:
        Name  Flags
      row     
      column  

  public void focus(javafx.scene.control.TablePosition);
    descriptor: (Ljavafx/scene/control/TablePosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.scene.control.TablePosition pos
         0: .line 3230
            aload 1 /* pos */
            ifnonnull 1
            return
         1: .line 3231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pos */
            invokevirtual javafx.scene.control.TablePosition.getRow:()I
            aload 1 /* pos */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         2: .line 3232
            return
        end local 1 // javafx.scene.control.TablePosition pos
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    3     1   pos  Ljavafx/scene/control/TablePosition;
    MethodParameters:
      Name  Flags
      pos   

  public boolean isFocused(int, javafx.scene.control.TableColumn<S, ?>);
    descriptor: (ILjavafx/scene/control/TableColumn;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // int row
        start local 2 // javafx.scene.control.TableColumn column
         0: .line 3246
            iload 1 /* row */
            iflt 1
            iload 1 /* row */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            if_icmplt 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
         2: .line 3248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 3 /* cell */
        start local 3 // javafx.scene.control.TablePosition cell
         3: .line 3249
            aload 2 /* column */
            ifnull 4
            aload 2 /* column */
            aload 3 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 4
            iconst_0
            goto 5
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
         4: iconst_1
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* columnMatch */
        start local 4 // boolean columnMatch
         6: .line 3251
            aload 3 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getRow:()I
            iload 1 /* row */
            if_icmpne 7
            iload 4 /* columnMatch */
            ifeq 7
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         7: iconst_0
            ireturn
        end local 4 // boolean columnMatch
        end local 3 // javafx.scene.control.TablePosition cell
        end local 2 // javafx.scene.control.TableColumn column
        end local 1 // int row
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    8     1          row  I
            0    8     2       column  Ljavafx/scene/control/TableColumn<TS;*>;
            3    8     3         cell  Ljavafx/scene/control/TablePosition;
            6    8     4  columnMatch  Z
    Signature: (ILjavafx/scene/control/TableColumn<TS;*>;)Z
    MethodParameters:
        Name  Flags
      row     
      column  

  public void focus(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // int index
         0: .line 3263
            iload 1 /* index */
            iflt 1
            iload 1 /* index */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            if_icmplt 3
         1: .line 3264
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedCell:(Ljavafx/scene/control/TablePosition;)V
         2: .line 3265
            goto 4
         3: .line 3266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new javafx.scene.control.TablePosition
            dup
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            iload 1 /* index */
            aconst_null
            invokespecial javafx.scene.control.TablePosition.<init>:(Ljavafx/scene/control/TableView;ILjavafx/scene/control/TableColumn;)V
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.setFocusedCell:(Ljavafx/scene/control/TablePosition;)V
         4: .line 3268
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int index
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    5     1  index  I
    MethodParameters:
       Name  Flags
      index  

  public void focusAboveCell();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3274
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 1 /* cell */
        start local 1 // javafx.scene.control.TablePosition cell
         1: .line 3276
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_m1
            if_icmpne 4
         2: .line 3277
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            iconst_1
            isub
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         3: .line 3278
            goto 6
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
         4: aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            ifle 6
         5: .line 3279
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_1
            isub
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         6: .line 3281
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.scene.control.TablePosition cell
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            1    7     1  cell  Ljavafx/scene/control/TablePosition;

  public void focusBelowCell();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3287
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 1 /* cell */
        start local 1 // javafx.scene.control.TablePosition cell
         1: .line 3288
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_m1
            if_icmpne 4
         2: .line 3289
            aload 0 /* this */
            iconst_0
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         3: .line 3290
            goto 6
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
         4: aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            iconst_1
            isub
            if_icmpeq 6
         5: .line 3291
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_1
            iadd
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         6: .line 3293
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javafx.scene.control.TablePosition cell
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            1    7     1  cell  Ljavafx/scene/control/TablePosition;

  public void focusLeftCell();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3299
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 1 /* cell */
        start local 1 // javafx.scene.control.TablePosition cell
         1: .line 3300
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getColumn:()I
            ifgt 2
            return
         2: .line 3301
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getRow:()I
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            iconst_m1
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getTableColumn:(Ljavafx/scene/control/TableColumn;I)Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         3: .line 3302
            return
        end local 1 // javafx.scene.control.TablePosition cell
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            1    4     1  cell  Ljavafx/scene/control/TablePosition;

  public void focusRightCell();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3308
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 1 /* cell */
        start local 1 // javafx.scene.control.TablePosition cell
         1: .line 3309
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getColumn:()I
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getColumnCount:()I
            iconst_1
            isub
            if_icmpne 2
            return
         2: .line 3310
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getRow:()I
            aload 0 /* this */
            aload 1 /* cell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            iconst_1
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getTableColumn:(Ljavafx/scene/control/TableColumn;I)Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
         3: .line 3311
            return
        end local 1 // javafx.scene.control.TablePosition cell
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            1    4     1  cell  Ljavafx/scene/control/TablePosition;

  public void focusPrevious();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3315
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_m1
            if_icmpne 3
         1: .line 3316
            aload 0 /* this */
            iconst_0
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(I)V
         2: .line 3317
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            ifle 5
         4: .line 3318
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focusAboveCell:()V
         5: .line 3320
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;

  public void focusNext();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3324
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iconst_m1
            if_icmpne 3
         1: .line 3325
            aload 0 /* this */
            iconst_0
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(I)V
         2: .line 3326
            goto 5
      StackMap locals:
      StackMap stack:
         3: aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            iconst_1
            isub
            if_icmpeq 5
         4: .line 3327
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focusBelowCell:()V
         5: .line 3329
      StackMap locals:
      StackMap stack:
            return
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;

  private void updateDefaultFocus();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3340
            iconst_m1
            istore 1 /* newValueIndex */
        start local 1 // int newValueIndex
         1: .line 3341
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            ifnull 9
         2: .line 3342
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedItem:()Ljava/lang/Object;
            astore 2 /* focusedItem */
        start local 2 // java.lang.Object focusedItem
         3: .line 3343
            aload 2 /* focusedItem */
            ifnull 5
         4: .line 3344
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            aload 2 /* focusedItem */
            invokeinterface javafx.collections.ObservableList.indexOf:(Ljava/lang/Object;)I
            istore 1 /* newValueIndex */
         5: .line 3349
      StackMap locals: int java.lang.Object
      StackMap stack:
            iload 1 /* newValueIndex */
            iconst_m1
            if_icmpne 9
         6: .line 3350
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getItems:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            ifle 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_m1
      StackMap locals:
      StackMap stack: int
         8: istore 1 /* newValueIndex */
        end local 2 // java.lang.Object focusedItem
         9: .line 3354
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 2 /* focusedCell */
        start local 2 // javafx.scene.control.TablePosition focusedCell
        10: .line 3355
            aload 2 /* focusedCell */
            ifnull 12
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.EMPTY_CELL:Ljavafx/scene/control/TablePosition;
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.equals:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 3356
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            goto 13
      StackMap locals: javafx.scene.control.TablePosition
      StackMap stack:
        12: aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            iconst_0
            invokevirtual javafx.scene.control.TableView.getVisibleLeafColumn:(I)Ljavafx/scene/control/TableColumn;
        13: .line 3355
      StackMap locals:
      StackMap stack: javafx.scene.control.TableColumn
            astore 3 /* focusColumn */
        start local 3 // javafx.scene.control.TableColumn focusColumn
        14: .line 3358
            aload 0 /* this */
            iload 1 /* newValueIndex */
            aload 3 /* focusColumn */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
        15: .line 3359
            return
        end local 3 // javafx.scene.control.TableColumn focusColumn
        end local 2 // javafx.scene.control.TablePosition focusedCell
        end local 1 // int newValueIndex
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            1   16     1  newValueIndex  I
            3    9     2    focusedItem  TS;
           10   16     2    focusedCell  Ljavafx/scene/control/TablePosition<TS;*>;
           14   16     3    focusColumn  Ljavafx/scene/control/TableColumn<TS;*>;

  private int getColumnCount();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
         0: .line 3362
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            invokevirtual javafx.scene.control.TableView.getVisibleLeafColumns:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            ireturn
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;

  private javafx.scene.control.TableColumn<S, ?> getTableColumn(javafx.scene.control.TableColumn<S, ?>, int);
    descriptor: (Ljavafx/scene/control/TableColumn;I)Ljavafx/scene/control/TableColumn;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.scene.control.TableColumn column
        start local 2 // int offset
         0: .line 3367
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            aload 1 /* column */
            invokevirtual javafx.scene.control.TableView.getVisibleLeafIndex:(Ljavafx/scene/control/TableColumn;)I
            istore 3 /* columnIndex */
        start local 3 // int columnIndex
         1: .line 3368
            iload 3 /* columnIndex */
            iload 2 /* offset */
            iadd
            istore 4 /* newColumnIndex */
        start local 4 // int newColumnIndex
         2: .line 3369
            aload 0 /* this */
            getfield javafx.scene.control.TableView$TableViewFocusModel.tableView:Ljavafx/scene/control/TableView;
            iload 4 /* newColumnIndex */
            invokevirtual javafx.scene.control.TableView.getVisibleLeafColumn:(I)Ljavafx/scene/control/TableColumn;
            areturn
        end local 4 // int newColumnIndex
        end local 3 // int columnIndex
        end local 2 // int offset
        end local 1 // javafx.scene.control.TableColumn column
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0    3     1          column  Ljavafx/scene/control/TableColumn<TS;*>;
            0    3     2          offset  I
            1    3     3     columnIndex  I
            2    3     4  newColumnIndex  I
    Signature: (Ljavafx/scene/control/TableColumn<TS;*>;I)Ljavafx/scene/control/TableColumn<TS;*>;
    MethodParameters:
        Name  Flags
      column  
      offset  

  public void focus(int, javafx.scene.control.TableColumnBase);
    descriptor: (ILjavafx/scene/control/TableColumnBase;)V
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            aload 2
            checkcast javafx.scene.control.TableColumn
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public boolean isFocused(int, javafx.scene.control.TableColumnBase);
    descriptor: (ILjavafx/scene/control/TableColumnBase;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            iload 1
            aload 2
            checkcast javafx.scene.control.TableColumn
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.isFocused:(ILjavafx/scene/control/TableColumn;)Z
            ireturn
      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=9, args_size=2
        start local 0 // javafx.scene.control.TableView$TableViewFocusModel this
        start local 1 // javafx.collections.ListChangeListener$Change c
         0: .line 3094
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            pop
         1: .line 3096
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasReplaced:()Z
            ifne 2
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getAddedSize:()I
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            if_icmpne 4
         2: .line 3097
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.updateDefaultFocus:()V
         3: .line 3098
            return
         4: .line 3101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TablePosition;
            astore 2 /* focusedCell */
        start local 2 // javafx.scene.control.TablePosition focusedCell
         5: .line 3102
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.getRow:()I
            istore 3 /* focusedIndex */
        start local 3 // int focusedIndex
         6: .line 3103
            iload 3 /* focusedIndex */
            iconst_m1
            if_icmpeq 7
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getFrom:()I
            iload 3 /* focusedIndex */
            if_icmple 8
         7: .line 3104
      StackMap locals: javafx.scene.control.TablePosition int
      StackMap stack:
            return
         8: .line 3107
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.reset:()V
         9: .line 3108
            iconst_0
            istore 4 /* added */
        start local 4 // boolean added
        10: .line 3109
            iconst_0
            istore 5 /* removed */
        start local 5 // boolean removed
        11: .line 3110
            iconst_0
            istore 6 /* addedSize */
        start local 6 // int addedSize
        12: .line 3111
            iconst_0
            istore 7 /* removedSize */
        start local 7 // int removedSize
        13: .line 3112
            goto 18
        14: .line 3113
      StackMap locals: javafx.scene.control.TableView$TableViewFocusModel javafx.collections.ListChangeListener$Change javafx.scene.control.TablePosition int int int int int
      StackMap stack:
            iload 4 /* added */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasAdded:()Z
            ior
            istore 4 /* added */
        15: .line 3114
            iload 5 /* removed */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.wasRemoved:()Z
            ior
            istore 5 /* removed */
        16: .line 3115
            iload 6 /* addedSize */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getAddedSize:()I
            iadd
            istore 6 /* addedSize */
        17: .line 3116
            iload 7 /* removedSize */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getRemovedSize:()I
            iadd
            istore 7 /* removedSize */
        18: .line 3112
      StackMap locals:
      StackMap stack:
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 14
        19: .line 3119
            iload 4 /* added */
            ifeq 24
            iload 5 /* removed */
            ifne 24
        20: .line 3120
            iload 6 /* addedSize */
            aload 1 /* c */
            invokevirtual javafx.collections.ListChangeListener$Change.getList:()Ljavafx/collections/ObservableList;
            invokeinterface javafx.collections.ObservableList.size:()I
            if_icmpge 30
        21: .line 3121
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getItemCount:()I
            iconst_1
            isub
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iload 6 /* addedSize */
            iadd
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* newFocusIndex */
        start local 8 // int newFocusIndex
        22: .line 3122
            aload 0 /* this */
            iload 8 /* newFocusIndex */
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
        end local 8 // int newFocusIndex
        23: .line 3124
            goto 30
      StackMap locals:
      StackMap stack:
        24: iload 4 /* added */
            ifne 30
            iload 5 /* removed */
            ifeq 30
        25: .line 3125
            iconst_0
            aload 0 /* this */
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.getFocusedIndex:()I
            iload 7 /* removedSize */
            isub
            invokestatic java.lang.Math.max:(II)I
            istore 8 /* newFocusIndex */
        start local 8 // int newFocusIndex
        26: .line 3126
            iload 8 /* newFocusIndex */
            ifge 29
        27: .line 3127
            aload 0 /* this */
            iconst_0
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
        28: .line 3128
            goto 30
        29: .line 3129
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 8 /* newFocusIndex */
            aload 2 /* focusedCell */
            invokevirtual javafx.scene.control.TablePosition.getTableColumn:()Ljavafx/scene/control/TableColumn;
            invokevirtual javafx.scene.control.TableView$TableViewFocusModel.focus:(ILjavafx/scene/control/TableColumn;)V
        end local 8 // int newFocusIndex
        end local 7 // int removedSize
        end local 6 // int addedSize
        end local 5 // boolean removed
        end local 4 // boolean added
        end local 3 // int focusedIndex
        end local 2 // javafx.scene.control.TablePosition focusedCell
        30: .line 3132
      StackMap locals: javafx.scene.control.TableView$TableViewFocusModel javafx.collections.ListChangeListener$Change
      StackMap stack:
            return
        end local 1 // javafx.collections.ListChangeListener$Change c
        end local 0 // javafx.scene.control.TableView$TableViewFocusModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Ljavafx/scene/control/TableView$TableViewFocusModel<TS;>;
            0   31     1              c  Ljavafx/collections/ListChangeListener$Change<+TS;>;
            5   30     2    focusedCell  Ljavafx/scene/control/TablePosition<TS;*>;
            6   30     3   focusedIndex  I
           10   30     4          added  Z
           11   30     5        removed  Z
           12   30     6      addedSize  I
           13   30     7    removedSize  I
           22   23     8  newFocusIndex  I
           26   30     8  newFocusIndex  I

  private static void lambda$1(javafx.scene.control.TableView, javafx.beans.Observable);
    descriptor: (Ljavafx/scene/control/TableView;Ljavafx/beans/Observable;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // javafx.beans.Observable o
         0: .line 3085
            aload 0
            getstatic javafx.scene.AccessibleAttribute.FOCUS_ITEM:Ljavafx/scene/AccessibleAttribute;
            invokevirtual javafx.scene.control.TableView.notifyAccessibleAttributeChanged:(Ljavafx/scene/AccessibleAttribute;)V
         1: .line 3086
            return
        end local 1 // javafx.beans.Observable o
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     1     o  Ljavafx/beans/Observable;
}
Signature: <S:Ljava/lang/Object;>Ljavafx/scene/control/TableFocusModel<TS;Ljavafx/scene/control/TableColumn<TS;*>;>;
SourceFile: "TableView.java"
NestHost: javafx.scene.control.TableView
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
  public TableViewFocusModel = javafx.scene.control.TableView$TableViewFocusModel of javafx.scene.control.TableView
  javafx.scene.control.TableView$TableViewFocusModel$1
  javafx.scene.control.TableView$TableViewFocusModel$2