package p;
import java.util.Collections;
import java.util.Map;
class A extends Sup<String> {
public A(Map<String, Integer> map) {
method(Collections.<String, Integer>emptyMap(/*nada*/));
method2(Collections.<String, Integer>emptyMap(/*nada*/));
method3(Collections.<String, Integer>emptyMap(/*nada*/));
new A(Collections.<String, Integer>emptyMap(/*nada*/));
super.sup(Collections.<String, Integer>emptyMap(/*nada*/));
Map<String, Integer> emptyMap2= Collections.emptyMap(/*nada*/);
emptyMap2= Collections.emptyMap(/*nada*/);
Object o= Collections.emptyMap(/*nada*/);
Map<? extends String, ?> emptyMap3= Collections.emptyMap(/*nada*/);
Integer first= Collections.<String, Integer>emptyMap(/*nada*/).values().iterator().next();
}
void method(Map<String, Integer> map) { }
void method2(Map<? extends String, ?> map) { }
void method3(Object map) { }
}
class Sup<S> {
<A extends S, B> void sup(Map<A, B> map) {}
}