The ClassFileArchiveEntryHandler toClassFile method catches an {{IOException }} and rethrows it as an ArchiveException, therefore losing the original context of the IO-related problem.
We should propagate the original exception along with the ArchiveException so that it's easier for the Hibernate user to spot a certain failure.