join() is blocking until server is ready. It behaves like Thread.join() and indeed calls join() of Jetty's thread pool. Server.join() waits for the server to fully stop.
HttpRuntimeStartHandler is running on a seperate thread, isn't it?