question: public boolean await ( long timeout , TimeUnit timeUnit ) throws InterruptedException { boolean awaitResult = false ; lock . lock ( ) ; boolean localIsDone ; try { awaitResult = done . await ( timeout , timeUnit ) ; } finally { localIsDone = isDone ; isDone = false ; lock . unlock ( ) ; } return awaitResult && localIsDone ; }
target:  Inner implementation for supporting the BlockingExecutor.await(timeout, timeUnit).