getOrCreateExtension

inline fun <T : Any> getOrCreateExtension(name: String, noinline create: () -> T): T
fun <T : Any> getOrCreateExtension(    name: String,     clazz: KClass<T>,     create: () -> T): T