¥Java allows any expression of object (reference) type A to be
cast to another object type B--provided that the types A and B overlap (have a non-empty
intersection ignoring null.
¥Given a Java expression e of type A, the notation
(B)e
means expression e of type B. The value of e is unchanged.