The current implementation appears to have some potential issues ... - Casting that might result in a null - array indexing that might fail - Assumptions we don't like