     }
   }
   
+  private func expandStopAtIndexPath(indexPath: NSIndexPath) {
+    stopTableView.deselectRowAtIndexPath(indexPath, animated: true)
+    
+    // no row was selected when the row was tapped => remove other rows
+    
+    // store the stop for the selected row
+    selectedStop = stopForRow(indexPath.row)
+    if selectedStop == nil {
+      // Ignore unknown stops
+      return
+    }
+    
+    // we know the row
+    let rowForSelectedStop = indexPath.row
+    
+    // pick all the rows but the currently selected one
+    var indexPathsOnAbove = [NSIndexPath]()
+    for row in 0 ..< rowForSelectedStop {
+      let indexPath = NSIndexPath(forRow: row, inSection: 0)
+      indexPathsOnAbove.append(indexPath)
+    }
+    var indexPathsOnBelow = [NSIndexPath]()
+    let rowCount = currentVehicle?.stops.count ?? 0
+    if rowForSelectedStop + 1 < rowCount {
+      for row in (rowForSelectedStop + 1) ..< rowCount {
+        let indexPath = NSIndexPath(forRow: row, inSection: 0)
+        indexPathsOnBelow.append(indexPath)
+      }
+    }
+    
+    // Maximize the table view
+    expandStopTableView()
+    
+    // perform the correct update operation
+    stopTableView.beginUpdates()
+    if let header = stopTableViewHeader {
+      header.text = NSLocalizedString("Stop selected", comment: "")
+    }
+    stopTableView.deleteRowsAtIndexPaths(indexPathsOnAbove, withRowAnimation: .Fade)
+    stopTableView.deleteRowsAtIndexPaths(indexPathsOnBelow, withRowAnimation: .Fade)
+        
+    stopTableView.endUpdates()
+    stopTableView.reloadRowsAtIndexPaths([NSIndexPath(forRow: 0, inSection: 0)], withRowAnimation: .Fade)
+    
+    autoRefresh = true
+    initAutoRefreshTimer()
+    
+  }
+
   private func unexpandSelectedStop() {
     autoUnexpandTaskQueue?.cancel()
     autoUnexpandTaskQueue = initAutoUnexpandTaskQueue()

  }
}

// MARK: - preferredContentSizeChanged notification handler
extension MainViewController {
  func preferredContentSizeChanged(notification: NSNotification) {
    log.verbose("preferredContentSizeChanged")

  }
}


//
// MARK: - HorizontalScrollerDelegate
//
extension MainViewController: HorizontalScrollerDelegate {
  
  // MARK: - Data source functions
