     }
   }
   
+  /// Deletes all `StopVisits` associated with this stop, including its children
   public func clearVisits() {
     guard let context = managedObjectContext else { return }
     

  
  // MARK: - Fetcher
  
  @objc(fetchStopForStopCode:inRegionNamed:requireCoordinate:inTripKitContext:)
  static func fetchStop(stopCode: String, inRegion regionName: String?, requireCoordinate: Bool, in context: NSManagedObjectContext) -> StopLocation? {
    guard let regionName = regionName else { return nil }
    
    let predicate = requireCoordinate

    return StopVisits.departuresPredicate(forStops: stops, from: date, filter: self.filter)
  }
  
  /// Stops to for displaying a timetable for this stop – includes its children
  public func stopsToMatchTo() -> [StopLocation] {
    if let children = children, children.count > 0 {
      return Array(children)
