¥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.