def _get_node(self, loc_descriptor, create_non_existing_nodes=False):
node = self._root_node<EOL>for location in loc_descriptor.generate_all_sub_locations():<EOL><INDENT>child = node.get_child_node_or_default(location, None)<EOL>if child is None:<EOL><INDENT>if not create_non_existing_nodes:<EOL><INDENT>raise RuntimeError("<STR_LIT>" % (location, loc_descriptor.to_string()))<EOL><DEDENT>else:<EOL><INDENT>child = TreeMapNode(None)<EOL>node.set_child_node(location, child)<EOL>self._nbr_of_nodes += <NUM_LIT:1><EOL><DEDENT><DEDENT>node = child<EOL><DEDENT>return node<EOL>
Get node corresponding to last location in a :class:`LocationDescriptor` object.

Args:
    loc_descriptor: A  :class:`LocationDescriptor` object
    create_non_existing_nodes (bool): Do we create non existing nodes along the way (including last node)?

Raises:
    RuntimeError if a node along the path given in by the :class:`LocationDescriptor` object does not exist
    **if** ``create_non_existing_nodes`` is set to ``False``.