<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _ReconstructPath(self, came_from, current_node):
 """ Helper method for ShortestPath, to reconstruct path. Arguments: came_from: a dictionary mapping Point to (Point, Poly) tuples. This dictionary keeps track of the previous neighbor to a node, and the edge used to get from the previous neighbor to the node. current_node: the current Point in the path. Returns: A Poly that represents the path through the graph from the start of the search to current_node. """

    if current_node in came_from:
      (previous_node, previous_edge) = came_from[current_node]
      if previous_edge.GetPoint(0) == current_node:
        previous_edge = previous_edge.Reversed()
      p = self._ReconstructPath(came_from, previous_node)
      return Poly.MergePolys([p, previous_edge], merge_point_threshold=0)
    else:
      return Poly([], '')