Ignore redundant calls to start() and stop()
Don't throw IllegalStateException if start() or stop() is called in an inappropriate state.
Try to clean up if start() fails so it's not necessary to call stop() before trying again.
Don't throw IllegalStateException if start() or stop() is called in an inappropriate state.
Try to clean up if start() fails so it's not necessary to call stop() before trying again.