abstract class com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext implements com.sun.javafx.scene.traversal.TraversalContext
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext
  super_class: java.lang.Object
{
  final com.sun.javafx.scene.traversal.TraversalEngine this$0;
    descriptor: Lcom/sun/javafx/scene/traversal/TraversalEngine;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private void <init>(com.sun.javafx.scene.traversal.TraversalEngine);
    descriptor: (Lcom/sun/javafx/scene/traversal/TraversalEngine;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
         0: .line 188
            aload 0 /* this */
            aload 1
            putfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
    MethodParameters:
        Name  Flags
      this$0  final

  public java.util.List<javafx.scene.Node> getAllTargetNodes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
         0: .line 195
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* targetNodes */
        start local 1 // java.util.List targetNodes
         1: .line 196
            aload 0 /* this */
            aload 1 /* targetNodes */
            aload 0 /* this */
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.getRoot:()Ljavafx/scene/Parent;
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.addFocusableChildrenToList:(Ljava/util/List;Ljavafx/scene/Parent;)V
         2: .line 197
            aload 1 /* targetNodes */
            areturn
        end local 1 // java.util.List targetNodes
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            1    3     1  targetNodes  Ljava/util/List<Ljavafx/scene/Node;>;
    Signature: ()Ljava/util/List<Ljavafx/scene/Node;>;

  public javafx.geometry.Bounds getSceneLayoutBounds(javafx.scene.Node);
    descriptor: (Ljavafx/scene/Node;)Ljavafx/geometry/Bounds;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
        start local 1 // javafx.scene.Node n
         0: .line 202
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            aload 1 /* n */
            aconst_null
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine.getLayoutBounds:(Ljavafx/scene/Node;Ljavafx/scene/Parent;)Ljavafx/geometry/Bounds;
            areturn
        end local 1 // javafx.scene.Node n
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            0    1     1     n  Ljavafx/scene/Node;
    MethodParameters:
      Name  Flags
      n     

  private void addFocusableChildrenToList(java.util.List<javafx.scene.Node>, javafx.scene.Parent);
    descriptor: (Ljava/util/List;Ljavafx/scene/Parent;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
        start local 1 // java.util.List list
        start local 2 // javafx.scene.Parent parent
         0: .line 206
            aload 2 /* parent */
            invokevirtual javafx.scene.Parent.getChildrenUnmodifiable:()Ljavafx/collections/ObservableList;
            astore 3 /* parentsNodes */
        start local 3 // java.util.List parentsNodes
         1: .line 207
            aload 3 /* parentsNodes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext java.util.List javafx.scene.Parent java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javafx.scene.Node
            astore 4 /* n */
        start local 4 // javafx.scene.Node n
         3: .line 208
            aload 4 /* n */
            invokevirtual javafx.scene.Node.isFocusTraversable:()Z
            ifeq 5
            aload 4 /* n */
            invokevirtual javafx.scene.Node.isFocused:()Z
            ifne 5
            aload 4 /* n */
            invokestatic com.sun.javafx.scene.NodeHelper.isTreeVisible:(Ljavafx/scene/Node;)Z
            ifeq 5
            aload 4 /* n */
            invokevirtual javafx.scene.Node.isDisabled:()Z
            ifne 5
         4: .line 209
            aload 1 /* list */
            aload 4 /* n */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 211
      StackMap locals: com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext java.util.List javafx.scene.Parent java.util.List javafx.scene.Node java.util.Iterator
      StackMap stack:
            aload 4 /* n */
            instanceof javafx.scene.Parent
            ifeq 7
         6: .line 212
            aload 0 /* this */
            aload 1 /* list */
            aload 4 /* n */
            checkcast javafx.scene.Parent
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.addFocusableChildrenToList:(Ljava/util/List;Ljavafx/scene/Parent;)V
        end local 4 // javafx.scene.Node n
         7: .line 207
      StackMap locals: com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext java.util.List javafx.scene.Parent java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 215
            return
        end local 3 // java.util.List parentsNodes
        end local 2 // javafx.scene.Parent parent
        end local 1 // java.util.List list
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            0    9     1          list  Ljava/util/List<Ljavafx/scene/Node;>;
            0    9     2        parent  Ljavafx/scene/Parent;
            1    9     3  parentsNodes  Ljava/util/List<Ljavafx/scene/Node;>;
            3    7     4             n  Ljavafx/scene/Node;
    Signature: (Ljava/util/List<Ljavafx/scene/Node;>;Ljavafx/scene/Parent;)V
    MethodParameters:
        Name  Flags
      list    
      parent  

  public javafx.scene.Node selectFirstInParent(javafx.scene.Parent);
    descriptor: (Ljavafx/scene/Parent;)Ljavafx/scene/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
        start local 1 // javafx.scene.Parent parent
         0: .line 223
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            aload 1 /* parent */
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$TempEngineContext.setRoot:(Ljavafx/scene/Parent;)V
         1: .line 224
            getstatic com.sun.javafx.scene.traversal.TraversalEngine.DEFAULT_ALGORITHM:Lcom/sun/javafx/scene/traversal/Algorithm;
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            invokeinterface com.sun.javafx.scene.traversal.Algorithm.selectFirst:(Lcom/sun/javafx/scene/traversal/TraversalContext;)Ljavafx/scene/Node;
            areturn
        end local 1 // javafx.scene.Parent parent
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            0    2     1  parent  Ljavafx/scene/Parent;
    MethodParameters:
        Name  Flags
      parent  

  public javafx.scene.Node selectLastInParent(javafx.scene.Parent);
    descriptor: (Ljavafx/scene/Parent;)Ljavafx/scene/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
        start local 1 // javafx.scene.Parent parent
         0: .line 229
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            aload 1 /* parent */
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$TempEngineContext.setRoot:(Ljavafx/scene/Parent;)V
         1: .line 230
            getstatic com.sun.javafx.scene.traversal.TraversalEngine.DEFAULT_ALGORITHM:Lcom/sun/javafx/scene/traversal/Algorithm;
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            invokeinterface com.sun.javafx.scene.traversal.Algorithm.selectLast:(Lcom/sun/javafx/scene/traversal/TraversalContext;)Ljavafx/scene/Node;
            areturn
        end local 1 // javafx.scene.Parent parent
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            0    2     1  parent  Ljavafx/scene/Parent;
    MethodParameters:
        Name  Flags
      parent  

  public javafx.scene.Node selectInSubtree(javafx.scene.Parent, javafx.scene.Node, com.sun.javafx.scene.traversal.Direction);
    descriptor: (Ljavafx/scene/Parent;Ljavafx/scene/Node;Lcom/sun/javafx/scene/traversal/Direction;)Ljavafx/scene/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
        start local 1 // javafx.scene.Parent subTreeRoot
        start local 2 // javafx.scene.Node from
        start local 3 // com.sun.javafx.scene.traversal.Direction dir
         0: .line 235
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            aload 1 /* subTreeRoot */
            invokevirtual com.sun.javafx.scene.traversal.TraversalEngine$TempEngineContext.setRoot:(Ljavafx/scene/Parent;)V
         1: .line 236
            getstatic com.sun.javafx.scene.traversal.TraversalEngine.DEFAULT_ALGORITHM:Lcom/sun/javafx/scene/traversal/Algorithm;
            aload 2 /* from */
            aload 3 /* dir */
            aload 0 /* this */
            getfield com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext.this$0:Lcom/sun/javafx/scene/traversal/TraversalEngine;
            getfield com.sun.javafx.scene.traversal.TraversalEngine.tempEngineContext:Lcom/sun/javafx/scene/traversal/TraversalEngine$TempEngineContext;
            invokeinterface com.sun.javafx.scene.traversal.Algorithm.select:(Ljavafx/scene/Node;Lcom/sun/javafx/scene/traversal/Direction;Lcom/sun/javafx/scene/traversal/TraversalContext;)Ljavafx/scene/Node;
            areturn
        end local 3 // com.sun.javafx.scene.traversal.Direction dir
        end local 2 // javafx.scene.Node from
        end local 1 // javafx.scene.Parent subTreeRoot
        end local 0 // com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lcom/sun/javafx/scene/traversal/TraversalEngine$BaseEngineContext;
            0    2     1  subTreeRoot  Ljavafx/scene/Parent;
            0    2     2         from  Ljavafx/scene/Node;
            0    2     3          dir  Lcom/sun/javafx/scene/traversal/Direction;
    MethodParameters:
             Name  Flags
      subTreeRoot  
      from         
      dir          
}
SourceFile: "TraversalEngine.java"
NestHost: com.sun.javafx.scene.traversal.TraversalEngine
InnerClasses:
  private abstract BaseEngineContext = com.sun.javafx.scene.traversal.TraversalEngine$BaseEngineContext of com.sun.javafx.scene.traversal.TraversalEngine
  private final TempEngineContext = com.sun.javafx.scene.traversal.TraversalEngine$TempEngineContext of com.sun.javafx.scene.traversal.TraversalEngine