Why Java Does Not Have Pointers