KMutableProperty0<*> from an interface variable

Good day. I ran into the following problem. I have an extension function for type KMutableProperty0<T>, that trying to get delegate of this property by calling a method getDelegate()

fun <T> KMutableProperty0<T>.getObservableVarDelegate(): ObservableVar<T> {
    isAccessible = true
    val delegate = getDelegate()
    isAccessible = false
    if (delegate == null || delegate !is ObservableVar<*>) {
        throw UnsupportedDelegateException("Property ${} is not an ObservableVar")
    } else {
        return delegate as ObservableVar<T>

In other place i run the following code:

class EntityImpl {
     val amount by ObservableVar(0)
val entity = EntityImpl()

This code works fine. But if i get a property from an interface variable pointing to the same object, method getDelegate() returns null.

interface Entity {
     val amount: Int
class EntityImpl: Entity {
     override val amount by ObservableVar(0)
val entity: Entity = EntityImpl()

// throws an Exception because the method getDelegate() returns null

Do you know any available way to solve this problem?