parameters: (self, index, route)
return_statement: return last_node, last_intersection_edge
docstring: This method returns the last successive intersection edge
          from a starting index on the route.
          This helps moving past tiny intersection edges to calculate
          proper turn decisions.
docstring_summary: This method returns the last successive intersection edge
          from a starting index on the route.
          This helps moving past tiny intersection edges to calculate
          proper turn decisions.
docstring_tokens: This method returns the last successive intersection edge from a starting index on the route . This helps moving past tiny intersection edges to calculate proper turn decisions .
function: def _successive_last_intersection_edge(self, index, route):
          """
          This method returns the last successive intersection edge
          from a starting index on the route.
          This helps moving past tiny intersection edges to calculate
          proper turn decisions.
          """
  
          last_intersection_edge = None
          last_node = None
          for node1, node2 in [(route[i], route[i+1]) for i in range(index, len(route)-1)]:
              candidate_edge = self._graph.edges[node1, node2]
              if node1 == route[index]:
                  last_intersection_edge = candidate_edge
              if candidate_edge['type'] == RoadOption.LANEFOLLOW and candidate_edge['intersection']:
                  last_intersection_edge = candidate_edge
                  last_node = node2
              else:
                  break
  
          return last_node, last_intersection_edge
function_tokens: def _successive_last_intersection_edge ( self , index , route ) : last_intersection_edge = None last_node = None for node1 , node2 in [ ( route [ i ] , route [ i + 1 ] ) for i in range ( index , len ( route ) - 1 ) ] : candidate_edge = self . _graph . edges [ node1 , node2 ] if node1 == route [ index ] : last_intersection_edge = candidate_edge if candidate_edge [ 'type' ] == RoadOption . LANEFOLLOW and candidate_edge [ 'intersection' ] : last_intersection_edge = candidate_edge last_node = node2 else : break return last_node , last_intersection_edge