code: def _CreateRouteShapesFolder(self, schedule, parent, route,
                                 style_id=None, visible=True):
      
      shape_id_to_trips = {}
      for trip in route.trips:
        if trip.shape_id:
          shape_id_to_trips.setdefault(trip.shape_id, []).append(trip)
      if not shape_id_to_trips:
        return None
  
      # sort by the number of trips using the shape
      shape_id_to_trips_items = shape_id_to_trips.items()
      shape_id_to_trips_items.sort(lambda a, b: cmp(len(b[1]), len(a[1])))
  
      folder = self._CreateFolder(parent, 'Shapes', visible)
      for shape_id, trips in shape_id_to_trips_items:
        trip_ids = [trip.trip_id for trip in trips]
        name = '%s (trips: %d)' % (shape_id, len(trips))
        description = 'Trips using this shape (%d in total): %s' % (
            len(trips), ', '.join(trip_ids))
        placemark = self._CreatePlacemark(folder, name, style_id, visible,
                                          description)
        self._CreateLineStringForShape(placemark, schedule.GetShape(shape_id))
      return folder
docs: Create a KML Folder for the shapes of a route.
  
      The folder contains a placemark for each shape referenced by a trip in the
      route. If there are no such shapes, no folder is created and None is
      returned.
  
      Args:
        schedule: The transitfeed.Schedule instance.
        parent: The parent ElementTree.Element instance.
        route: The transitfeed.Route instance.
        style_id: The id of a style to use if not None.
        visible: Whether the placemark is initially visible or not.
  
      Returns:
        The Folder ElementTree.Element instance or None.