// FILE: J.java import java.util.*; public class J { private static class MyList extends KList {} public static String foo() { Collection collection = new MyList(); if (!collection.contains("ABCDE")) return "fail 1"; if (!collection.containsAll(Arrays.asList(1, 2, 3))) return "fail 2"; return "OK"; } } // FILE: test.kt open class KList : List { override val size: Int get() = throw UnsupportedOperationException() override fun isEmpty(): Boolean { throw UnsupportedOperationException() } override fun contains(o: E) = true override fun containsAll(c: Collection) = true override fun iterator(): Iterator { throw UnsupportedOperationException() } override fun get(index: Int): E { throw UnsupportedOperationException() } override fun indexOf(element: E): Int { throw UnsupportedOperationException() } override fun lastIndexOf(element: E): Int { throw UnsupportedOperationException() } override fun listIterator(): ListIterator { throw UnsupportedOperationException() } override fun listIterator(index: Int): ListIterator { throw UnsupportedOperationException() } override fun subList(fromIndex: Int, toIndex: Int): List { throw UnsupportedOperationException() } } fun box() = J.foo()