@ SuppressWarnings ( { "PMD.CollapsibleIfStatements" , "PMD.GuardLogStatement" } ) public void awaitExhaustion ( ) throws InterruptedException { synchronized ( this ) { if ( generators != null ) { if ( running != generators . size ( ) ) { generatorTracking . severe ( ( ) -> "Generator count doesn't match tracked." ) ; } } while ( running > 0 ) { if ( generators != null ) { generatorTracking . fine ( ( ) -> "Thread " + Thread . currentThread ( ) . getName ( ) + " is waiting, " + generators . size ( ) + " generators registered: " + generators . keySet ( ) ) ; } wait ( ) ; } generatorTracking . finest ( "Thread " + Thread . currentThread ( ) . getName ( ) + " continues." ) ; } }
Await exhaustion .