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.

def _CreateStopsFolder(self, schedule, doc):
    """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.
    """
    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