Makes sense. I thought that `createCache()` being synchronized and having an extra nullity check would be enough, like in the typical lazy initialization pattern. But a volatile modifier on the instance field doesn't hurt at all.