I don't see this class as generally reusable as it seems to favour the current use case. Rather than adding a new class I would have just used a CHM directly in QueryInterceptor to shadow the ClusterRegistry and would use CAS on this shadow copy to be able to tell if I need to propagate the change to ClusterRegistry also.