This will fail in unpredictable ways. Best to use `getClass().equals(obj.getClass())`