I realise they're almost equal, only some differences in the exception stack..
and one line should be better. I'll cancel this change