code: def inorder(self):
          
          node_stack = []
          result = []
          node = self
  
          while True:
              if node is not None:
                  node_stack.append(node)
                  node = node.left
              elif len(node_stack) > 0:
                  node = node_stack.pop()
                  result.append(node)
                  node = node.right
              else:
                  break
  
          return result
docs: Return the nodes in the binary tree using in-order_ traversal.
  
          An in-order_ traversal visits left subtree, root, then right subtree.
  
          .. _in-order: https://en.wikipedia.org/wiki/Tree_traversal
  
          :return: List of nodes.
          :rtype: [binarytree.Node]
  
          **Example**:
  
          .. doctest::
  
              >>> from binarytree import Node
              >>>
              >>> root = Node(1)
              >>> root.left = Node(2)
              >>> root.right = Node(3)
              >>> root.left.left = Node(4)
              >>> root.left.right = Node(5)
              >>>
              >>> print(root)
              <BLANKLINE>
                  __1
                 /   \\
                2     3
               / \\
              4   5
              <BLANKLINE>
              >>> root.inorder
              [Node(4), Node(2), Node(5), Node(1), Node(3)]