class javafx.scene.control.TreeUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: javafx.scene.control.TreeUtil
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // javafx.scene.control.TreeUtil this
         0: .line 34
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // javafx.scene.control.TreeUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljavafx/scene/control/TreeUtil;

  static <T> int getExpandedDescendantCount(javafx.scene.control.TreeItem<T>, );
    descriptor: (Ljavafx/scene/control/TreeItem;Z)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // javafx.scene.control.TreeItem node
        start local 1 // boolean treeItemCountDirty
         0: .line 37
            aload 0 /* node */
            ifnonnull 1
            iconst_0
            ireturn
         1: .line 38
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokevirtual javafx.scene.control.TreeItem.isLeaf:()Z
            ifeq 2
            iconst_1
            ireturn
         2: .line 40
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            iload 1 /* treeItemCountDirty */
            invokevirtual javafx.scene.control.TreeItem.getExpandedDescendentCount:(Z)I
            ireturn
        end local 1 // boolean treeItemCountDirty
        end local 0 // javafx.scene.control.TreeItem node
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    3     0                node  Ljavafx/scene/control/TreeItem<TT;>;
            0    3     1  treeItemCountDirty  Z
    Signature: <T:Ljava/lang/Object;>(Ljavafx/scene/control/TreeItem<TT;>;Z)I
    MethodParameters:
                    Name  Flags
      node                
      treeItemCountDirty  

  static int updateExpandedItemCount(javafx.scene.control.TreeItem, boolean, boolean);
    descriptor: (Ljavafx/scene/control/TreeItem;ZZ)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // javafx.scene.control.TreeItem treeItem
        start local 1 // boolean treeItemCountDirty
        start local 2 // boolean isShowRoot
         0: .line 44
            aload 0 /* treeItem */
            ifnonnull 2
         1: .line 45
            iconst_0
            ireturn
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* treeItem */
            invokevirtual javafx.scene.control.TreeItem.isExpanded:()Z
            ifne 4
         3: .line 47
            iconst_1
            ireturn
         4: .line 49
      StackMap locals:
      StackMap stack:
            aload 0 /* treeItem */
            iload 1 /* treeItemCountDirty */
            invokestatic javafx.scene.control.TreeUtil.getExpandedDescendantCount:(Ljavafx/scene/control/TreeItem;Z)I
            istore 3 /* count */
        start local 3 // int count
         5: .line 50
            iload 2 /* isShowRoot */
            ifne 6
            iinc 3 /* count */ -1
         6: .line 52
      StackMap locals: int
      StackMap stack:
            iload 3 /* count */
            ireturn
        end local 3 // int count
        end local 2 // boolean isShowRoot
        end local 1 // boolean treeItemCountDirty
        end local 0 // javafx.scene.control.TreeItem treeItem
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0            treeItem  Ljavafx/scene/control/TreeItem;
            0    7     1  treeItemCountDirty  Z
            0    7     2          isShowRoot  Z
            5    7     3               count  I
    MethodParameters:
                    Name  Flags
      treeItem            
      treeItemCountDirty  
      isShowRoot          

  static <T> javafx.scene.control.TreeItem<T> getItem(javafx.scene.control.TreeItem<T>, int, boolean);
    descriptor: (Ljavafx/scene/control/TreeItem;IZ)Ljavafx/scene/control/TreeItem;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // javafx.scene.control.TreeItem parent
        start local 1 // int itemIndex
        start local 2 // boolean treeItemCountDirty
         0: .line 57
            aload 0 /* parent */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 60
      StackMap locals:
      StackMap stack:
            iload 1 /* itemIndex */
            ifne 2
            aload 0 /* parent */
            areturn
         2: .line 63
      StackMap locals:
      StackMap stack:
            iload 1 /* itemIndex */
            aload 0 /* parent */
            iload 2 /* treeItemCountDirty */
            invokestatic javafx.scene.control.TreeUtil.getExpandedDescendantCount:(Ljavafx/scene/control/TreeItem;Z)I
            if_icmplt 3
            aconst_null
            areturn
         3: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* parent */
            invokevirtual javafx.scene.control.TreeItem.getChildren:()Ljavafx/collections/ObservableList;
            astore 3 /* children */
        start local 3 // java.util.List children
         4: .line 67
            aload 3 /* children */
            ifnonnull 5
            aconst_null
            areturn
         5: .line 69
      StackMap locals: java.util.List
      StackMap stack:
            iload 1 /* itemIndex */
            iconst_1
            isub
            istore 4 /* idx */
        start local 4 // int idx
         6: .line 72
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: aload 3 /* children */
            invokeinterface java.util.List.size:()I
            istore 7 /* max */
        start local 7 // int max
         8: goto 22
         9: .line 73
      StackMap locals: javafx.scene.control.TreeItem int int java.util.List int top int int
      StackMap stack:
            aload 3 /* children */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.TreeItem
            astore 5 /* child */
        start local 5 // javafx.scene.control.TreeItem child
        10: .line 74
            iload 4 /* idx */
            ifne 11
            aload 5 /* child */
            areturn
        11: .line 76
      StackMap locals: javafx.scene.control.TreeItem int int java.util.List int javafx.scene.control.TreeItem int int
      StackMap stack:
            aload 5 /* child */
            invokevirtual javafx.scene.control.TreeItem.isLeaf:()Z
            ifne 12
            aload 5 /* child */
            invokevirtual javafx.scene.control.TreeItem.isExpanded:()Z
            ifne 14
        12: .line 77
      StackMap locals:
      StackMap stack:
            iinc 4 /* idx */ -1
        13: .line 78
            goto 21
        14: .line 81
      StackMap locals:
      StackMap stack:
            aload 5 /* child */
            iload 2 /* treeItemCountDirty */
            invokestatic javafx.scene.control.TreeUtil.getExpandedDescendantCount:(Ljavafx/scene/control/TreeItem;Z)I
            istore 8 /* expandedChildCount */
        start local 8 // int expandedChildCount
        15: .line 82
            iload 4 /* idx */
            iload 8 /* expandedChildCount */
            if_icmplt 18
        16: .line 83
            iload 4 /* idx */
            iload 8 /* expandedChildCount */
            isub
            istore 4 /* idx */
        17: .line 84
            goto 21
        18: .line 87
      StackMap locals: int
      StackMap stack:
            aload 5 /* child */
            iload 4 /* idx */
            iload 2 /* treeItemCountDirty */
            invokestatic javafx.scene.control.TreeUtil.getItem:(Ljavafx/scene/control/TreeItem;IZ)Ljavafx/scene/control/TreeItem;
            astore 9 /* result */
        start local 9 // javafx.scene.control.TreeItem result
        19: .line 88
            aload 9 /* result */
            ifnull 20
            aload 9 /* result */
            areturn
        20: .line 89
      StackMap locals: javafx.scene.control.TreeItem
      StackMap stack:
            iinc 4 /* idx */ -1
        end local 9 // javafx.scene.control.TreeItem result
        end local 8 // int expandedChildCount
        21: .line 72
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
        end local 5 // javafx.scene.control.TreeItem child
      StackMap locals: javafx.scene.control.TreeItem int int java.util.List int top int int
      StackMap stack:
        22: iload 6 /* i */
            iload 7 /* max */
            if_icmplt 9
        end local 7 // int max
        end local 6 // int i
        23: .line 93
            aconst_null
            areturn
        end local 4 // int idx
        end local 3 // java.util.List children
        end local 2 // boolean treeItemCountDirty
        end local 1 // int itemIndex
        end local 0 // javafx.scene.control.TreeItem parent
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   24     0              parent  Ljavafx/scene/control/TreeItem<TT;>;
            0   24     1           itemIndex  I
            0   24     2  treeItemCountDirty  Z
            4   24     3            children  Ljava/util/List<Ljavafx/scene/control/TreeItem<TT;>;>;
            6   24     4                 idx  I
           10   22     5               child  Ljavafx/scene/control/TreeItem<TT;>;
            7   23     6                   i  I
            8   23     7                 max  I
           15   21     8  expandedChildCount  I
           19   21     9              result  Ljavafx/scene/control/TreeItem<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljavafx/scene/control/TreeItem<TT;>;IZ)Ljavafx/scene/control/TreeItem<TT;>;
    MethodParameters:
                    Name  Flags
      parent              
      itemIndex           
      treeItemCountDirty  

  static <T> int getRow(javafx.scene.control.TreeItem<T>, javafx.scene.control.TreeItem<T>, boolean, );
    descriptor: (Ljavafx/scene/control/TreeItem;Ljavafx/scene/control/TreeItem;ZZ)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=12, args_size=4
        start local 0 // javafx.scene.control.TreeItem item
        start local 1 // javafx.scene.control.TreeItem root
        start local 2 // boolean treeItemCountDirty
        start local 3 // boolean isShowRoot
         0: .line 97
            aload 0 /* item */
            ifnonnull 2
         1: .line 98
            iconst_m1
            ireturn
         2: .line 99
      StackMap locals:
      StackMap stack:
            iload 3 /* isShowRoot */
            ifeq 4
            aload 0 /* item */
            aload 1 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 100
            iconst_0
            ireturn
         4: .line 103
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* row */
        start local 4 // int row
         5: .line 104
            aload 0 /* item */
            astore 5 /* i */
        start local 5 // javafx.scene.control.TreeItem i
         6: .line 105
            aload 0 /* item */
            invokevirtual javafx.scene.control.TreeItem.getParent:()Ljavafx/scene/control/TreeItem;
            astore 6 /* p */
        start local 6 // javafx.scene.control.TreeItem p
         7: .line 109
            iconst_0
            istore 9 /* parentIsCollapsed */
        start local 9 // boolean parentIsCollapsed
         8: .line 111
            goto 30
         9: .line 112
      StackMap locals: javafx.scene.control.TreeItem javafx.scene.control.TreeItem int int int javafx.scene.control.TreeItem javafx.scene.control.TreeItem top top int
      StackMap stack:
            aload 6 /* p */
            invokevirtual javafx.scene.control.TreeItem.isExpanded:()Z
            ifne 12
        10: .line 113
            iconst_1
            istore 9 /* parentIsCollapsed */
        11: .line 114
            goto 31
        12: .line 117
      StackMap locals:
      StackMap stack:
            aload 6 /* p */
            getfield javafx.scene.control.TreeItem.children:Ljavafx/collections/ObservableList;
            astore 8 /* siblings */
        start local 8 // java.util.List siblings
        13: .line 120
            aload 8 /* siblings */
            aload 5 /* i */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 10 /* itemIndex */
        start local 10 // int itemIndex
        14: .line 121
            iload 10 /* itemIndex */
            iconst_1
            isub
            istore 11 /* pos */
        start local 11 // int pos
        15: goto 24
        16: .line 122
      StackMap locals: javafx.scene.control.TreeItem javafx.scene.control.TreeItem int int int javafx.scene.control.TreeItem javafx.scene.control.TreeItem top java.util.List int int int
      StackMap stack:
            aload 8 /* siblings */
            iload 11 /* pos */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast javafx.scene.control.TreeItem
            astore 7 /* sibling */
        start local 7 // javafx.scene.control.TreeItem sibling
        17: .line 123
            aload 7 /* sibling */
            ifnonnull 18
            goto 23
        18: .line 125
      StackMap locals: javafx.scene.control.TreeItem javafx.scene.control.TreeItem int int int javafx.scene.control.TreeItem javafx.scene.control.TreeItem javafx.scene.control.TreeItem java.util.List int int int
      StackMap stack:
            iload 4 /* row */
            aload 7 /* sibling */
            iload 2 /* treeItemCountDirty */
            invokestatic javafx.scene.control.TreeUtil.getExpandedDescendantCount:(Ljavafx/scene/control/TreeItem;Z)I
            iadd
            istore 4 /* row */
        19: .line 127
            aload 7 /* sibling */
            aload 1 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 23
        20: .line 128
            iload 3 /* isShowRoot */
            ifne 22
        21: .line 132
            iconst_m1
            ireturn
        22: .line 134
      StackMap locals:
      StackMap stack:
            iload 4 /* row */
            ireturn
        23: .line 121
      StackMap locals:
      StackMap stack:
            iinc 11 /* pos */ -1
        end local 7 // javafx.scene.control.TreeItem sibling
      StackMap locals: javafx.scene.control.TreeItem javafx.scene.control.TreeItem int int int javafx.scene.control.TreeItem javafx.scene.control.TreeItem top java.util.List int int int
      StackMap stack:
        24: iload 11 /* pos */
            iconst_m1
            if_icmpgt 16
        end local 11 // int pos
        25: .line 138
            aload 6 /* p */
            astore 5 /* i */
        26: .line 139
            aload 6 /* p */
            invokevirtual javafx.scene.control.TreeItem.getParent:()Ljavafx/scene/control/TreeItem;
            astore 6 /* p */
        27: .line 143
            aload 6 /* p */
            ifnonnull 29
            aload 5 /* i */
            aload 1 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 144
            iconst_m1
            ireturn
        29: .line 147
      StackMap locals:
      StackMap stack:
            iinc 4 /* row */ 1
        end local 10 // int itemIndex
        end local 8 // java.util.List siblings
        30: .line 111
      StackMap locals: javafx.scene.control.TreeItem javafx.scene.control.TreeItem int int int javafx.scene.control.TreeItem javafx.scene.control.TreeItem top top int
      StackMap stack:
            aload 5 /* i */
            aload 1 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 31
            aload 6 /* p */
            ifnonnull 9
        31: .line 150
      StackMap locals:
      StackMap stack:
            aload 6 /* p */
            ifnonnull 32
            iload 4 /* row */
            ifeq 33
      StackMap locals:
      StackMap stack:
        32: iload 9 /* parentIsCollapsed */
            ifeq 34
      StackMap locals:
      StackMap stack:
        33: iconst_m1
            goto 36
      StackMap locals:
      StackMap stack:
        34: iload 3 /* isShowRoot */
            ifeq 35
            iload 4 /* row */
            goto 36
      StackMap locals:
      StackMap stack:
        35: iload 4 /* row */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
        36: ireturn
        end local 9 // boolean parentIsCollapsed
        end local 6 // javafx.scene.control.TreeItem p
        end local 5 // javafx.scene.control.TreeItem i
        end local 4 // int row
        end local 3 // boolean isShowRoot
        end local 2 // boolean treeItemCountDirty
        end local 1 // javafx.scene.control.TreeItem root
        end local 0 // javafx.scene.control.TreeItem item
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   37     0                item  Ljavafx/scene/control/TreeItem<TT;>;
            0   37     1                root  Ljavafx/scene/control/TreeItem<TT;>;
            0   37     2  treeItemCountDirty  Z
            0   37     3          isShowRoot  Z
            5   37     4                 row  I
            6   37     5                   i  Ljavafx/scene/control/TreeItem<TT;>;
            7   37     6                   p  Ljavafx/scene/control/TreeItem<TT;>;
           17   24     7             sibling  Ljavafx/scene/control/TreeItem<TT;>;
           13   30     8            siblings  Ljava/util/List<Ljavafx/scene/control/TreeItem<TT;>;>;
            8   37     9   parentIsCollapsed  Z
           14   30    10           itemIndex  I
           15   25    11                 pos  I
    Signature: <T:Ljava/lang/Object;>(Ljavafx/scene/control/TreeItem<TT;>;Ljavafx/scene/control/TreeItem<TT;>;ZZ)I
    MethodParameters:
                    Name  Flags
      item                
      root                
      treeItemCountDirty  
      isShowRoot          
}
SourceFile: "TreeUtil.java"