ok, but I still don't really understand what the documentation should be?
The only change is an extra logging, which feels a bit wrong (if re-throwing) is normal, because then it should be logged at the level handling the failure.

Perhaps this logging should only be done if `e != cause` and then this logging should log `cause`, since `e` will be logged later.

I will look again at the test that fails without this logging.