The SuperelevationCriticalStationCollection.Add returns a void, the drawback is that we have to use GetCriticalStationAt to get the correct SuperelevationCriticalStation.
This is double work; why not just return SuperelevationCriticalStation from the Add method?