                let icon = routeDiagramElements[i].icon {
                 positionIcon(icon, usingRouteLine: routeLine)
             }
+            
+            if let stayOnBusCoverUpView = routeDiagramElements[i].stayOnBusCoverUpView {
+                positionStayOnBusCoverUpView(stayOnBusCoverUpView, usingStopDot: routeDiagramElements[i].stopDot)
+            }
 
         }
         

        for routeDiagramElement in routeDiagramElements {
            routeDiagramElement.stopLabel.removeFromSuperview()
            routeDiagramElement.travelDistanceLabel?.removeFromSuperview()
            routeDiagramElement.stayOnBusLabel?.removeFromSuperview()

            routeDiagramElement.stopDot.removeFromSuperview()
            routeDiagramElement.icon?.removeFromSuperview()
            routeDiagramElement.routeLine?.removeFromSuperview()
        }


    private func positionBusIcon(_ busIcon: BusIcon, usingRouteLine routeLine: RouteLine) {
        busIcon.center.x = busIconLeftSpaceFromSuperview + (busIcon.frame.width/2)
        busIcon.center.y = routeLine.center.y
    }
    
    private func positionStayOnBusCoverUpView(_ stayOnBusCoverUpView: UIView, usingStopDot stopDot: Circle) {
        stayOnBusCoverUpView.center.x = busIconLeftSpaceFromSuperview + (stayOnBusCoverUpView.frame.width/2)
        stayOnBusCoverUpView.center.y = stopDot.center.y
    }
    
    private func positionWalkWithDistanceIcon(_ walkWithDistanceIcon: WalkWithDistanceIcon, usingRouteLine routeLine: RouteLine, usingNextIcon nextIcon: UIView?) {
