// FIR_IDENTICAL // FILE: CollectionStringImpl.java import java.util.Collection; import java.util.Iterator; public class CollectionStringImpl implements Collection { @Override public int size() { return 0; } @Override public boolean isEmpty() { return false; } @Override public boolean contains(Object o) { return false; } @Override public Iterator iterator() { return null; } @Override public Object[] toArray() { return new Object[0]; } @Override public T[] toArray(T[] a) { return null; } @Override public boolean add(String s) { return false; } @Override public boolean remove(Object o) { return false; } @Override public boolean containsAll(Collection c) { return false; } @Override public boolean addAll(Collection c) { return false; } @Override public boolean removeAll(Collection c) { return false; } @Override public boolean retainAll(Collection c) { return false; } @Override public void clear() { } public boolean contains(String o) { return true; } } // FILE: main.kt fun test(x: CollectionStringImpl) { x.contains("") (x as Collection).contains("") }