@Override
 protected void onDetachedFromWindow() {
   super.onDetachedFromWindow();
   mBallWorld.requestExitAndWait();
 }
 public void onReset() {
   mBallWorld.onReset();
 }
 @Override
 public void onWindowFocusChanged(boolean hasFocus) {
   super.onWindowFocusChanged(hasFocus);
   mBallWorld.onWindowFocusChanged(hasFocus);
 }
 public void onResume() {
   mBallWorld.onResume();
 }
 public void onPause() {
   mBallWorld.onPause();
 }
 public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {
   mBallWorld.onWindowResize(w, h);
 }
 public void surfaceDestroyed(SurfaceHolder holder) {
   mBallWorld.surfaceDestroyed();
 }
 public void surfaceCreated(SurfaceHolder holder) {
   mBallWorld.surfaceCreated();
 }