I think is more clear if you just fail when exception != null instead of re throwing that exception