question: implementations override this method to support customized suspend/resume . concode_field_sep AtomicBoolean suspending concode_elem_sep AtomicBoolean shuttingdown concode_elem_sep AtomicBoolean started concode_elem_sep AtomicBoolean shutdown concode_elem_sep Logger LOG concode_elem_sep AtomicBoolean starting concode_elem_sep AtomicBoolean stopping concode_elem_sep AtomicBoolean stopped concode_elem_sep String version concode_elem_sep AtomicBoolean suspended concode_field_sep void suspend concode_elem_sep void resume concode_elem_sep String getVersion concode_elem_sep boolean isStoppingOrStopped concode_elem_sep boolean isSuspendingOrSuspended concode_elem_sep boolean isStopped concode_elem_sep boolean isSuspended concode_elem_sep void doResume concode_elem_sep boolean isStopping concode_elem_sep void doStop concode_elem_sep void start concode_elem_sep boolean isRunAllowed concode_elem_sep boolean isStarted concode_elem_sep ServiceStatus getStatus concode_elem_sep void stop concode_elem_sep boolean isSuspending concode_elem_sep void doStart concode_elem_sep void shutdown concode_elem_sep boolean isStarting concode_elem_sep void doShutdown
target: void function ( ) { }