Safe publication audit
Audit the codebase for safe publication issues:
* Allowing `this` to escape the constructor (including indirectly via non-static inner classes)
* Passing mutable objects between threads (including mutable collections)
issue