class_docstr: A Node instance is used for composing tree-based structures.
class_docstr_tok: ["A","Node","instance","is","used","for","composing","tree-based","structures","."]
docstr: Finds a node at a given position.
  
  Args:
      position: Position of the node.
  
  Returns:
      (Node): Node at desired position.
docstr_tok: ["Finds","a","node","at","a","given","position",".","Args",":","position",":","Position","of","the","node",".","Returns",":","(","Node",")",":","Node","at","desired","position","."]
code: def find_node(self, position: int) -> Node:
      """Finds a node at a given position.
  
      Args:
          position: Position of the node.
  
      Returns:
          (Node): Node at desired position.
  
      """
  
      pre_order = self.pre_order
      if len(pre_order) > position:
          node = pre_order[position]
  
          if node.category == "TERMINAL":
              return node.parent, node.flag
  
          if node.category == "FUNCTION":
              if node.parent and node.parent.parent:
                  return node.parent.parent, node.parent.flag
  
              return None, False
  
      return None, False
  
imports: from __future__ import annotations
  from typing import Any, Dict, List, Optional, Union
  import numpy
  import opytimizer.utils.constant
  import opytimizer.utils.exception
label_desc: Use image node_id 25 for calling the Node obj's underlying member method code with example usage: obj.find_node(position) and returns: None,  False, node,  node, None,  False, node,  node