For a narrowing conversion to a reference type to succeed at runtime, the value of the source argument must be Nothing
or the actual type of the object referenced by the source argument must be a type that can be converted to the destination type by an widening conversion. If an narrowing conversion fails, a System.InvalidCastException
exception is thrown.