class U
interface T {
fun foofoofoo(a: List, b: A?, c: U): U?
}
abstract class T1 : T, U> {
override fun foofoofoo(a: List, b: U?, c: U>): U? {
throw UnsupportedOperationException()
}
}
abstract class T2 : T1() {
override fun foofoofoo(a: List, b: U?, c: U>): U? {
throw UnsupportedOperationException()
}
}
class T3 : T2() {
override fun foofoofoo(a: List, b: U?, c: U>): U? {
throw UnsupportedOperationException()
}
}