import java.util.* open class Content() { override fun toString() = "OK" } interface ContentBox : List object Impl : ContentBox , AbstractList() { override fun get(index: Int) = Content() override val size: Int get() = throw UnsupportedOperationException() } class ContentBoxDelegate() : ContentBox by (Impl as ContentBox) fun box() = ContentBoxDelegate()[0].toString()