My reading of the function (as a whole) seems to suggest that backup can never be nil (or empty) - in which case this if is misleading... Could you double check you agree and remove the if, should it always be true?