in src/main/kotlin/org/jetbrains/intellij/platform/gradle/shim/Shim.kt [43:58]
fun start(): Server {
val routingHandler = getRoutingHandler()
do {
try {
val shimProxyPort = port + portIncrement.getAndIncrement()
log.info("Starting shim proxy on port $shimProxyPort")
return tryStartServer(shimProxyPort, routingHandler)
} catch (e: RuntimeException) {
if (e.cause == null || e.cause !is BindException) {
throw e
}
}
} while (true)
}