Same thing here. I would synchronize on `SharedRunner.class` instead of `sharedData`. In fact, it makes even less sense for two different operations putting to different keys to be synchronizing on the entire map when it is concurrent.