class javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 implements javafx.event.EventHandler<javafx.scene.control.TreeItem$TreeModificationEvent<S>>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1
  super_class: java.lang.Object
{
  final javafx.scene.control.TreeTableView$TreeTableViewFocusModel this$1;
    descriptor: Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

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

  public void handle(javafx.scene.control.TreeItem$TreeModificationEvent<S>);
    descriptor: (Ljavafx/scene/control/TreeItem$TreeModificationEvent;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 this
        start local 1 // javafx.scene.control.TreeItem$TreeModificationEvent e
         0: .line 3434
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            iconst_m1
            if_icmpne 1
            return
         1: .line 3436
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* shift */
        start local 2 // int shift
         2: .line 3437
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getChange:()Ljavafx/collections/ListChangeListener$Change;
            ifnull 4
         3: .line 3438
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getChange:()Ljavafx/collections/ListChangeListener$Change;
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            pop
         4: .line 3442
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel.treeTableView:Ljavafx/scene/control/TreeTableView;
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getTreeItem:()Ljavafx/scene/control/TreeItem;
            invokevirtual javafx.scene.control.TreeTableView.getRow:(Ljavafx/scene/control/TreeItem;)I
            istore 3 /* row */
        start local 3 // int row
         5: .line 3444
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.wasExpanded:()Z
            ifeq 9
         6: .line 3445
            iload 3 /* row */
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            if_icmpge 39
         7: .line 3447
            iload 2 /* shift */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getTreeItem:()Ljavafx/scene/control/TreeItem;
            iconst_0
            invokevirtual javafx.scene.control.TreeItem.getExpandedDescendentCount:(Z)I
            iconst_1
            isub
            iadd
            istore 2 /* shift */
         8: .line 3449
            goto 39
      StackMap locals: int
      StackMap stack:
         9: aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.wasCollapsed:()Z
            ifeq 13
        10: .line 3450
            iload 3 /* row */
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            if_icmpge 39
        11: .line 3453
            iload 2 /* shift */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getTreeItem:()Ljavafx/scene/control/TreeItem;
            getfield javafx.scene.control.TreeItem.previousExpandedDescendentCount:I
            ineg
            iconst_1
            iadd
            iadd
            istore 2 /* shift */
        12: .line 3455
            goto 39
      StackMap locals:
      StackMap stack:
        13: aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.wasAdded:()Z
            ifeq 25
        14: .line 3458
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getTreeItem:()Ljavafx/scene/control/TreeItem;
            astore 4 /* eventTreeItem */
        start local 4 // javafx.scene.control.TreeItem eventTreeItem
        15: .line 3459
            aload 4 /* eventTreeItem */
            invokevirtual javafx.scene.control.TreeItem.isExpanded:()Z
            ifeq 39
        16: .line 3460
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        17: goto 23
        18: .line 3462
      StackMap locals: javafx.scene.control.TreeItem int
      StackMap stack:
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getAddedChildren:()Ljava/util/List;
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.TreeItem
            astore 6 /* item */
        start local 6 // javafx.scene.control.TreeItem item
        19: .line 3463
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel.treeTableView:Ljavafx/scene/control/TreeTableView;
            aload 6 /* item */
            invokevirtual javafx.scene.control.TreeTableView.getRow:(Ljavafx/scene/control/TreeItem;)I
            istore 3 /* row */
        20: .line 3465
            aload 6 /* item */
            ifnull 22
            iload 3 /* row */
            iload 2 /* shift */
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            iadd
            if_icmpgt 22
        21: .line 3466
            iload 2 /* shift */
            aload 6 /* item */
            iconst_0
            invokevirtual javafx.scene.control.TreeItem.getExpandedDescendentCount:(Z)I
            iadd
            istore 2 /* shift */
        end local 6 // javafx.scene.control.TreeItem item
        22: .line 3460
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 5 /* i */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getAddedChildren:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 18
        end local 5 // int i
        end local 4 // javafx.scene.control.TreeItem eventTreeItem
        24: .line 3470
            goto 39
      StackMap locals:
      StackMap stack:
        25: aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.wasRemoved:()Z
            ifeq 39
        26: .line 3471
            iload 3 /* row */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getFrom:()I
            iconst_1
            iadd
            iadd
            istore 3 /* row */
        27: .line 3473
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        28: goto 34
        29: .line 3474
      StackMap locals: int
      StackMap stack:
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getRemovedChildren:()Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.TreeItem
            astore 5 /* item */
        start local 5 // javafx.scene.control.TreeItem item
        30: .line 3475
            aload 5 /* item */
            ifnull 33
            aload 5 /* item */
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedItem:()Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 33
        31: .line 3476
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            iconst_0
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            iconst_1
            isub
            invokestatic java.lang.Math.max:(II)I
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.focus:(I)V
        32: .line 3477
            return
        end local 5 // javafx.scene.control.TreeItem item
        33: .line 3473
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        34: iload 4 /* i */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getRemovedChildren:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 29
        end local 4 // int i
        35: .line 3481
            iload 3 /* row */
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedIndex:()I
            if_icmpgt 39
        36: .line 3483
            iload 2 /* shift */
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getTreeItem:()Ljavafx/scene/control/TreeItem;
            invokevirtual javafx.scene.control.TreeItem.isExpanded:()Z
            ifeq 37
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getRemovedSize:()I
            ineg
            goto 38
      StackMap locals: javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 javafx.scene.control.TreeItem$TreeModificationEvent int int
      StackMap stack: int
        37: iconst_0
      StackMap locals: javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 javafx.scene.control.TreeItem$TreeModificationEvent int int
      StackMap stack: int int
        38: iadd
            istore 2 /* shift */
        end local 3 // int row
        39: .line 3486
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getChange:()Ljavafx/collections/ListChangeListener$Change;
            ifnull 40
            aload 1 /* e */
            invokevirtual javafx.scene.control.TreeItem$TreeModificationEvent.getChange:()Ljavafx/collections/ListChangeListener$Change;
            invokevirtual javafx.collections.ListChangeListener$Change.next:()Z
            ifne 4
        40: .line 3488
      StackMap locals:
      StackMap stack:
            iload 2 /* shift */
            ifeq 45
        41: .line 3489
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.getFocusedCell:()Ljavafx/scene/control/TreeTablePosition;
            astore 3 /* focusedCell */
        start local 3 // javafx.scene.control.TreeTablePosition focusedCell
        42: .line 3490
            aload 3 /* focusedCell */
            invokevirtual javafx.scene.control.TreeTablePosition.getRow:()I
            iload 2 /* shift */
            iadd
            istore 4 /* newFocus */
        start local 4 // int newFocus
        43: .line 3491
            iload 4 /* newFocus */
            iflt 45
        44: .line 3492
            aload 0 /* this */
            iload 4 /* newFocus */
            aload 3 /* focusedCell */
            invokedynamic run(Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel$1;ILjavafx/scene/control/TreeTablePosition;)Ljava/lang/Runnable;
              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:
                  ()V
                  javafx/scene/control/TreeTableView$TreeTableViewFocusModel$1.lambda$0(ILjavafx/scene/control/TreeTablePosition;)V (7)
                  ()V
            invokestatic javafx.application.Platform.runLater:(Ljava/lang/Runnable;)V
        end local 4 // int newFocus
        end local 3 // javafx.scene.control.TreeTablePosition focusedCell
        45: .line 3495
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int shift
        end local 1 // javafx.scene.control.TreeItem$TreeModificationEvent e
        end local 0 // javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   46     0           this  Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel$1;
            0   46     1              e  Ljavafx/scene/control/TreeItem$TreeModificationEvent<TS;>;
            2   46     2          shift  I
            5   39     3            row  I
           15   24     4  eventTreeItem  Ljavafx/scene/control/TreeItem<TS;>;
           17   24     5              i  I
           19   22     6           item  Ljavafx/scene/control/TreeItem<TS;>;
           28   35     4              i  I
           30   33     5           item  Ljavafx/scene/control/TreeItem<TS;>;
           42   45     3    focusedCell  Ljavafx/scene/control/TreeTablePosition<TS;*>;
           43   45     4       newFocus  I
    Signature: (Ljavafx/scene/control/TreeItem$TreeModificationEvent<TS;>;)V
    MethodParameters:
      Name  Flags
      e     

  public void handle(javafx.event.Event);
    descriptor: (Ljavafx/event/Event;)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.TreeItem$TreeModificationEvent
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.handle:(Ljavafx/scene/control/TreeItem$TreeModificationEvent;)V
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void lambda$0(int, javafx.scene.control.TreeTablePosition);
    descriptor: (ILjavafx/scene/control/TreeTablePosition;)V
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 this
         0: .line 3492
            aload 0 /* this */
            getfield javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1.this$1:Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel;
            iload 1
            aload 2
            invokevirtual javafx.scene.control.TreeTablePosition.getTableColumn:()Ljavafx/scene/control/TreeTableColumn;
            invokevirtual javafx.scene.control.TreeTableView$TreeTableViewFocusModel.focus:(ILjavafx/scene/control/TreeTableColumn;)V
            return
        end local 0 // javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/control/TreeTableView$TreeTableViewFocusModel$1;
}
Signature: Ljava/lang/Object;Ljavafx/event/EventHandler<Ljavafx/scene/control/TreeItem$TreeModificationEvent<TS;>;>;
SourceFile: "TreeTableView.java"
EnclosingMethod: javafx.scene.control.TreeTableView$TreeTableViewFocusModel
NestHost: javafx.scene.control.TreeTableView
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 TreeModificationEvent = javafx.scene.control.TreeItem$TreeModificationEvent of javafx.scene.control.TreeItem
  public TreeTableViewFocusModel = javafx.scene.control.TreeTableView$TreeTableViewFocusModel of javafx.scene.control.TreeTableView
  javafx.scene.control.TreeTableView$TreeTableViewFocusModel$1