The code looks good, the only problem I see and I guess that the same problem is in the AbstractDistributedObject, is that clientproxies from completely different Hazelcast clusters but with the same name/service-name, are considered to be equal, even though they have nothing to do with each other.

@mdogan WDYT.