import java.util.Collections;
import java.util.List;
import java.util.Set;


interface A {}

interface B extends A {}

class Foo {
    public <TA extends A> List<TA> getAs() {
        return (List<TA>) getBs();
    }

    public <T extends B> List<T> getBs() {
        return null;
    }

    void foo(Set<String> s) {}
    {
        foo(<error descr="Inconvertible types; cannot cast 'java.util.Set<java.lang.Object>' to 'java.util.Set<java.lang.String>'">(Set<String>)Collections.emptySet()</error>);
    }
}
