ReentrantLock is to be avoided.