Trick is that if "setup" performs N changes and only n-th throws exception for some reason, the n-1 changes need to be reverted, hence the "tearDown" must be called. If "setupTasksInForce.add" happen after "setup", "tearDown" could not be called, hence n-1 changes would still be there.