Why do you `synchronize` here entire method body, independently of `cacheMode`, but in the `createBareChannel` only `CacheMode.CHANNEL` block?