Karlo Lozovina
ephemient
fun <T : Any> KClass<T>.newInstance(): T = constructors .first { it.parameters.all { it.isOptional } } .callBy(emptyMap())
.java.newInstance()