WritableName.getClass raises an IOException when it cannot load the class. The message is "WritableName can't load class" without the name of the class. Although one can get this from getCause, easier to see it just from the message.
propose change it to:
IOException newE = new IOException("WritableName can't load class: " + name);
I will attach a patch.