package p;
import java.util.ArrayList;
import java.util.List;
class A<E> {
public <T extends Number> void m(List<Integer> li, A<String> as) {}
}
class Sub<E> extends A<E> {
public <T extends Number> void m(List<Integer> li, A<String> as) {}
void test() {
A<String> as= new A<String>();
as.m(new ArrayList<Integer>(1), as);
new Sub<Double>().m(new ArrayList<Integer>(2), as);
}
}