Here's the change outline:
- separate ClientException & MessageProcessingException removed & replaced with common ProcessingException
- added client-side ResponseProcessingException (extends ProcessingException)
- updated client-side javadoc
- fixed API method signatures to not declare runtime exceptions in throws clause, only in javadoc (as per http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#throwstag )
Please, let me know if you have any comments.