import java.util.Map; import java.util.List; //expected type parameter class Sample { public Map test() { return null; } public void fun(T t, V v) { } M bar() { return null; } void run(Sample sample) { fun(test(), bar()); sample.fun(test(), sample.bar()); sample.fun(test(), bar()); fun(test(), sample.bar()); fun(sample.test(), bar()); fun(sample.test(), sample.bar()); sample.fun(sample.test(), bar()); sample.fun(sample.test(), sample.bar()); } } //expected generic type class Sample1 { public List reverse() { return null; } public void foo(Sample1 t) { newTreeSet(t.reverse()); newTreeSet(reverse()); t.newTreeSet(t.reverse()); t.newTreeSet(reverse()); } public void newTreeSet(List comparator) {} }