question: public void waitUntilClosed ( ) throws InterruptedException { mutex . lock ( ) ; try { while ( state != State . Closed ) { isClosedCondition . await ( ) ; } } finally { mutex . unlock ( ) ; } }
target:  Block until the service is finally closed