@ VisibleForTesting public ControllerServiceStarter awaitServiceStarting ( ) { monitor . enterWhenUninterruptibly ( hasReachedStarting ) ; try { if ( serviceState != ServiceState . STARTING ) { throw new IllegalStateException ( "Expected state=" + ServiceState . STARTING + ", but actual state=" + serviceState ) ; } else { return this . starter ; } } finally { monitor . leave ( ) ; } }
Awaits until the internal state changes to STARTING and returns the reference of current ControllerServiceStarter .