question: waits for the handler to shutdown . concode_field_sep HttpHandler next concode_elem_sep GracefulShutdownListener listener concode_elem_sep List<ShutdownListener> shutdownListeners concode_elem_sep boolean shutdown concode_elem_sep long activeRequests concode_elem_sep Object lock concode_elem_sep AtomicLongFieldUpdater<GracefulShutdownHandler> activeRequestsUpdater concode_field_sep void shutdownComplete concode_elem_sep void start concode_elem_sep void decrementRequests concode_elem_sep void handleRequest concode_elem_sep void addShutdownListener concode_elem_sep void exchangeEvent concode_elem_sep void shutdown concode_elem_sep void shutdown
target: void function ( ) { synchronized ( lock ) { if ( ! shutdown ) { throw UndertowMessages . MESSAGES . handlerNotShutdown ( ) ; } while ( activeRequestsUpdater . get ( this ) > 0 ) { lock . wait ( ) ; } } }