replace VolatileStatement with SynchronizedStatement