public class Passenger {
public static class PassParent {
}
public static class PassChild extends PassParent {
}
public PassParent provideNullable(int p) {
return p > 0 ? new PassChild() : null;
}
public void test1() {
PassParent pass = provideNullable(1);
assert pass != null;
accept1((PassChild) pass);
}
public void test2() {
PassParent pass = provideNullable(1);
if (1 == 2) {
assert pass != null;
accept2((PassChild) pass);
}
accept2((PassChild) pass);
}
public void accept1(PassChild p) {
}
public void accept2(PassChild p) {
}
}