Can child_handle cast to parent_handle using $cast(c_h,p_h), if parent_handle is already not pointing child object and pointing to parent_handle?

Thanks a lot Dave

Another follow up doubt,

B // Base class
E // Extended class from B
EE // Extended class from E

E e_h ;
B b_h ;
EE ee_h ;

case #1
ee_h = new(); // instance created
b_h = ee_h ; // legal
$cast(e_h,b_h); // Is this also Valid ? Any runtime error ?

case #2
e_h = new(); // instance created
b_h = e_h ; // legal
$cast(ee_h,b_h); // Is this also Valid ? Any runtime error ?

If extended class handle pointing to base_class handle which is already pointing to same extended class handle, it will work but what if base class handle is pointing to one level up(case#2) or one level down(case#1).

Please clarify.