import java.io.Serializable;
class Base {
}
class Sub1 extends Base implements Serializable {
public void run() {
}
}
class Sub2 extends Base implements Serializable {
public void run() {
}
}
public class TypeInference {
static T infer(T t1, T t2) {
return null;
}
public static void main(String[] args) {
Base base = infer(new Sub1(), new Sub2());
Serializable runnable = infer(new Sub1(), new Sub2());
}
}