code: def _CreateStopsFolder(self, schedule, doc):
      
      if not schedule.GetStopList():
        return None
      stop_folder = self._CreateFolder(doc, 'Stops')
      stop_folder_selection = self._StopFolderSelectionMethod(stop_folder)
      stop_style_selection = self._StopStyleSelectionMethod(doc)
      stops = list(schedule.GetStopList())
      stops.sort(key=lambda x: x.stop_name)
      for stop in stops:
        (folder, pathway_folder) = stop_folder_selection(stop)
        (style_id, pathway_style_id) = stop_style_selection(stop)
        self._CreateStopPlacemark(folder, stop, style_id)
        if (self.show_stop_hierarchy and
            stop.location_type != transitfeed.Stop.LOCATION_TYPE_STATION and
            stop.parent_station and stop.parent_station in schedule.stops):
          placemark = self._CreatePlacemark(
              pathway_folder, stop.stop_name, pathway_style_id)
          parent_station = schedule.stops[stop.parent_station]
          coordinates = [(stop.stop_lon, stop.stop_lat),
                         (parent_station.stop_lon, parent_station.stop_lat)]
          self._CreateLineString(placemark, coordinates)
      return stop_folder
docs: Create a KML Folder containing placemarks for each stop in the schedule.
  
      If there are no stops in the schedule then no folder is created.
  
      Args:
        schedule: The transitfeed.Schedule instance.
        doc: The KML Document ElementTree.Element instance.
  
      Returns:
        The Folder ElementTree.Element instance or None if there are no stops.