onDoTwice

fun onDoTwice(name: String, onDo: Runnable, onDone: Runnable, version: String = ""): Only
inline fun onDoTwice(name: String, crossinline onDo: (Int) -> Unit, crossinline onDone: () -> Unit = {}, version: String = ""): Only

execute the onDo block only twice.

fun onDoTwice(name: String, onDo: Runnable, onDone: Runnable, onLastDo: Runnable, onBeforeDone: Runnable, version: String = ""): Only
inline fun onDoTwice(name: String, crossinline onDo: (Int) -> Unit, crossinline onDone: () -> Unit = {}, crossinline onLastDo: () -> Unit = {}, crossinline onBeforeDone: () -> Unit = {}, version: String = ""): Only

execute the onDo block only twice with onLastDo and onBeforeDone.