Hi pveentjer,
thanks a lot for your review, it helps me getting into the code and understanding it better.

The case you are depicting exists only if ClientProxies objects are added to a distributed data structure: if they are kept local to the client jvm, than those hashcode/equals (and thus the overall design of those classes) works.

Does really the case exists to store ClientProxy instances  in a distributed collection (e.g. a map) ? to me they sound really something that should live bounded in each client JVM.

Thanks in advance,
Emanuele