And I guess what William meant is: after catching the runtime exception (from the Object using his Data class), he creates a "normal" Exception (checked.. lets say Implementing "Exception").
Then, he throws this "checked" exception instead of throwing the runtimeException, which would be a little dirty!
Regards,
Alex