code: def _CreateShapesFolder(self, schedule, doc):
      
      if not schedule.GetShapeList():
        return None
      shapes_folder = self._CreateFolder(doc, 'Shapes')
      shapes = list(schedule.GetShapeList())
      shapes.sort(key=lambda x: x.shape_id)
      for shape in shapes:
        placemark = self._CreatePlacemark(shapes_folder, shape.shape_id)
        self._CreateLineStringForShape(placemark, shape)
        if self.shape_points:
          self._CreateShapePointFolder(shapes_folder, shape)
      return shapes_folder
docs: Create a KML Folder containing all the shapes in a schedule.
  
      The folder contains a placemark for each shape. If there are no shapes in
      the schedule then the folder is not created and None is returned.
  
      Args:
        schedule: The transitfeed.Schedule instance.
        doc: The KML Document ElementTree.Element instance.
  
      Returns:
        The Folder ElementTree.Element instance or None.