Lets say there is a class called Student that extends a class called Person and we write:
Person p = ......;
Student s = (Student)p;
How can we make sure this down cast will not throw any exceptions?