code: def get_nodes(self, resolve_missing=False):
          
          result = []
          resolved = False
  
          for node_id in self._node_ids:
              try:
                  node = self._result.get_node(node_id)
              except exception.DataIncomplete:
                  node = None
  
              if node is not None:
                  result.append(node)
                  continue
  
              if not resolve_missing:
                  raise exception.DataIncomplete("Resolve missing nodes is disabled")
  
              # We tried to resolve the data but some nodes are still missing
              if resolved:
                  raise exception.DataIncomplete("Unable to resolve all nodes")
  
              query = ("\n"
                       "[out:json];\n"
                       "way({way_id});\n"
                       "node(w);\n"
                       "out body;\n"
                       )
              query = query.format(
                  way_id=self.id
              )
              tmp_result = self._result.api.query(query)
              self._result.expand(tmp_result)
              resolved = True
  
              try:
                  node = self._result.get_node(node_id)
              except exception.DataIncomplete:
                  node = None
  
              if node is None:
                  raise exception.DataIncomplete("Unable to resolve all nodes")
  
              result.append(node)
  
          return result
docs: Get the nodes defining the geometry of the way
  
          :param resolve_missing: Try to resolve missing nodes.
          :type resolve_missing: Boolean
          :return: List of nodes
          :rtype: List of overpy.Node
          :raises overpy.exception.DataIncomplete: At least one referenced node is not available in the result cache.
          :raises overpy.exception.DataIncomplete: If resolve_missing is True and at least one node can't be resolved.