Maybe we should only translate if it's "our" class cast (another class cast exception might happen in user code)...

Something like...

					catch (ClassCastException e) {
						StackTraceElement[] trace = e.getStackTrace();
						if (trace[0].getMethodName().equals("handle")) {
							throw new IllegalArgumentException("Foo", e);
						}
					}

Also, we should catch exceptions and invoke `channel.txRollback()`.