public void released(Point p) {
   if ((pickedTransformable != null) && (undoRedoStack != null)) {
     undoRedoStack.push(
         new PointOfViewUndoableRedoable(
             pickedTransformable,
             oldTransformation,
             pickedTransformable.getLocalTransformation(),
             scheduler));
   }
 }
 public void selected(
     edu.cmu.cs.stage3.alice.core.Transformable pickedTransformable,
     edu.cmu.cs.stage3.alice.scenegraph.renderer.PickInfo pickInfo,
     Point p) {
   this.pickedTransformable = pickedTransformable;
   if (pickedTransformable != null) {
     camera = (edu.cmu.cs.stage3.alice.core.Camera) pickInfo.getSource().getBonus();
     world =
         (edu.cmu.cs.stage3.alice.core.World) camera.getSceneGraphCamera().getRoot().getBonus();
     oldTransformation = pickedTransformable.getLocalTransformation();
     helper.vehicle.set(world);
     identity.vehicle.set(world);
   }
 }