abstract class A3 : java.util.AbstractList() abstract class A4 : java.util.AbstractList() { override fun contains(o: W): Boolean { throw UnsupportedOperationException() } override fun containsAll(c: Collection): Boolean { throw UnsupportedOperationException() } } abstract class A5 : java.util.AbstractList() abstract class A6 : java.util.AbstractList() { override fun contains(o: String): Boolean { throw UnsupportedOperationException() } override fun containsAll(c: Collection): Boolean { throw UnsupportedOperationException() } } // 0 signature \(TW;\)Z // 2 signature \(Ljava/util/Collection<\+Ljava/lang/Object;>;\)Z // 2 public final bridge contains\(Ljava/lang/Object;\)Z // 2 public final bridge remove\(Ljava/lang/Object;\)Z // 2 public final bridge indexOf\(Ljava/lang/Object;\)I // 2 public final bridge lastIndexOf\(Ljava/lang/Object;\)I /* 2 INSTANCEOF for each class: one for 'remove', one for 'contains' type-safe bridges */ // 8 INSTANCEOF java/lang/String