code: def finish(self):
      children = []
      for (
          prefix,
          children_part,
          line_offset,
          last_line_offset_leaf,
      ) in self._children_groups:
          first_leaf = _get_next_leaf_if_indentation(
              children_part[0].get_first_leaf()
          )
  
          first_leaf.prefix = prefix + first_leaf.prefix
          if line_offset != 0:
              try:
                  _update_positions(
                      children_part, line_offset, last_line_offset_leaf
                  )
              except _PositionUpdatingFinished:
                  pass
          children += children_part
      self.tree_node.children = children
      # Reset the parents
      for node in children:
          node.parent = self.tree_node
  
      for node_child in self._node_children:
          node_child.finish()
  
imports: import re
  import difflib
  from collections import namedtuple
  import logging
  from parso.utils import split_lines
  from parso.python.parser import Parser
  from parso.python.tree import EndMarker
  from parso.python.tokenize import PythonToken, BOM_UTF8_STRING
  from parso.python.token import PythonTokenTypes
label_desc: Use image node_id 2 for calling the _NodesTreeNode obj's underlying member method code with example usage: obj.finish() without return types