I created a JIRA issue for this issue so you can track it:
Thanks for the quick fix.
Another matter around Demux, is that currently it only looks at super-interfaces if a direct match is not found,
But it does not look at super-classes. This is annoying when you have protocols that extend all messages from some particular superclass and you want to be able to treat groups of messages the same way (like ignoring them).
Also, it may be interesting to see if there is a good way to cache the resolution of super-interfaces and super-classes in order to make such code more efficient. You will just need to make sure that the cache is flushed when MessageHandlers are added or removed.
Keep the good work,