class A { } abstract class B { public T getA(Class aClass) { return null; } void foo(Class aClass) { A a = getA(aClass); } }