question: private void signalNotEmpty ( ) { final ReentrantLock takeLock = this . takeLock ; takeLock . lock ( ) ; try { notEmpty . signal ( ) ; } finally { takeLock . unlock ( ) ; } }
target:  Signals a waiting take. Called only from put/offer (which do not otherwise ordinarily lock takeLock.)