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 go find out what happens. If it doesnt check for both maybe make TimedCrowdsale inherits CappedCrowdsale?