class Some(classNames: () -> Collection) { internal val first by lazy { classNames().toSet() } private val second by lazy { val nonDeclaredNames = getNonDeclaredClassifierNames() ?: return@lazy null val allNames = first + nonDeclaredNames allNames } fun getNonDeclaredClassifierNames(): Set? = null }