Im pretty sure super
refers to the contract right before the caller contract in the inheritance tree. Not sure what would happen in the case you're describing. Id suggest testing goto find out what happens. If it doesnt check for both maybe make TimedCrowdsale inherits CappedCrowdsale?