class C : Java1, Java2 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

}

class D : Java1, Java2 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

  override fun foo(): Void {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

fun test() {
  val k1: Any = C().foo() /*!! Void */
  val k2: Void = C().foo() /*!! Void */
  val k3: Void = D().foo()
}
