code: def find_by_path(self, path):
          
          pathparts = path.split('.')
          current_node = self
          for pathpart in pathparts:
              m = re.fullmatch(r'^(\w+)((?:\[(?:\d+|0[xX][\da-fA-F]+)\])*)$', pathpart)
              if not m:
                  raise ValueError("Invalid path")
              inst_name, array_suffix = m.group(1,2)
              idx_list = [ int(s,0) for s in re.findall(r'\[(\d+|0[xX][\da-fA-F]+)\]', array_suffix) ]
  
              current_node = current_node.get_child_by_name(inst_name)
              if current_node is None:
                  return None
  
              if idx_list:
                  if (isinstance(current_node, AddressableNode)) and current_node.inst.is_array:
                      # is an array
                      if len(idx_list) != len(current_node.inst.array_dimensions):
                          raise IndexError("Wrong number of array dimensions")
  
                      current_node.current_idx = [] # pylint: disable=attribute-defined-outside-init
                      for i,idx in enumerate(idx_list):
                          if idx >= current_node.inst.array_dimensions[i]:
                              raise IndexError("Array index out of range")
                          current_node.current_idx.append(idx)
                  else:
                      raise IndexError("Index attempted on non-array component")
  
          return current_node
docs: Finds the descendant node that is located at the relative path
          Returns ``None`` if not found
          Raises exception if path is malformed, or array index is out of range
  
          Parameters
          ----------
          path: str
              Path to target relative to current node
  
          Returns
          -------
          :class:`~Node` or None
              Descendant Node. None if not found.
  
          Raises
          ------
          ValueError
              If path syntax is invalid
          IndexError
              If an array index in the path is invalid