Restart
class Restart(val applicationClass: KClass<out Application>, val rawArgs: Array<out String> = emptyArray())
When an Application ends, it can choose to restart by adding an item to Application.restarts. applicationClass can be the same as the previous application, or another one.
Application.restarts is a list, which allows a chain of applications to be launched.