try ReentrantLock again