# Generic Interface so we can delegate

**URL:** <https://discuss.kotlinlang.org/t/generic-interface-so-we-can-delegate/15416>\
**Category:** Language Design\
**Created:** [December 12, 2019, 6:45pm UTC](https://discuss.kotlinlang.org/t/generic-interface-so-we-can-delegate/15416 "2019-12-12T18:45:50Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![yenaskithegar](https://avatars.discourse-cdn.com/v4/letter/y/85f322/32.png) [@yenaskithegar](https://discuss.kotlinlang.org/u/yenaskithegar)\
**Post date:** [December 12, 2019, 6:45pm UTC](https://discuss.kotlinlang.org/t/generic-interface-so-we-can-delegate/15416/1 "2019-12-12T18:45:50Z")

</div>

```kotlin
Class CheckableWrapper<T is interface>(val item : T, var checked = false) : T by item{

}

```

Can kotlin do this ?  
I think if kotlin is able to do this, it would be awesome. I can now add a state to my model and fake it as original item

More awesome if somehow, i can know whether an item is already Checkable and automatically copy the checked state
