dimsuz
interface Worker { fun doWork(); } class BaseWorker : Worker { final override fun doWork() { ensureContract1() if(someCheckPassed) { doWorkSafely() } } abstract fun doWorkSafely() }