class A : Java1 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

}

class B : Java1 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

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

}

fun test() {
  val k: Void? = A().foo()
  val k2: Any = A().foo() /*!! Void */
  val k3: Void = B().foo()
  val k4: Any = B().foo()
}
