I’m not sure if the Kotlin/Java interop supports this, but what I normally do in pure Kotlin in this case is:
override var clientId = ""
private set
This works even if the interface or superclass defines a val rather than a var, but I’m not sure if a Java setter in an interface or superclass class can be overridden in this way.