ContainerHolder objects are specific to this class, so I don't think there's much benefit to pushing thread safety into them.  Either way, the concurrent map is maintaining the state of which Containers exist, not the state of the holders themselves.