Program: 7651
Project: 7651
Buggy source:
/** 
 * Internal method. Handles the different camera keyboard actions.
 */
protected void handleCameraKeyboardAction(CameraKeyboardAction id,Point p){
switch (id) {
case INTERPOLATE_TO_ZOOM_ON_PIXEL:
    if (Camera.class == camera().getClass())     System.out.println("String_Node_Str" + "String_Node_Str");
 else {
      Camera.WorldPoint wP=interpolateToZoomOnPixel(p);
      if (wP.found) {
        pupVec=wP.point;
        pupFlag=true;
        if (timerFx.timer() != null)         timerFx.timer().runTimerOnce(1000);
      }
    }
  break;
case INTERPOLATE_TO_FIT_SCENE:
camera().interpolateToFitScene();
break;
case SHOW_ALL:
showAll();
break;
case MOVE_CAMERA_LEFT:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(-10.0f * camera().flySpeed(),0.0f,0.0f)));
break;
case MOVE_CAMERA_RIGHT:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(10.0f * camera().flySpeed(),0.0f,0.0f)));
break;
case MOVE_CAMERA_UP:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(0.0f,-10.0f * camera().flySpeed(),0.0f)));
break;
case MOVE_CAMERA_DOWN:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(0.0f,10.0f * camera().flySpeed(),0.0f)));
break;
case INCREASE_ROTATION_SENSITIVITY:
camera().setRotationSensitivity(camera().rotationSensitivity() * 1.2f);
break;
case DECREASE_ROTATION_SENSITIVITY:
camera().setRotationSensitivity(camera().rotationSensitivity() / 1.2f);
break;
case INCREASE_CAMERA_FLY_SPEED:
camera().setFlySpeed(camera().flySpeed() * 1.2f);
break;
case DECREASE_CAMERA_FLY_SPEED:
camera().setFlySpeed(camera().flySpeed() / 1.2f);
break;
case INCREASE_AVATAR_FLY_SPEED:
if (avatar() != null) if (avatarIsInteractiveDrivableFrame) ((InteractiveDrivableFrame)avatar()).setFlySpeed(((InteractiveDrivableFrame)avatar()).flySpeed() * 1.2f);
break;
case DECREASE_AVATAR_FLY_SPEED:
if (avatar() != null) if (avatarIsInteractiveDrivableFrame) ((InteractiveDrivableFrame)avatar()).setFlySpeed(((InteractiveDrivableFrame)avatar()).flySpeed() / 1.2f);
break;
case INCREASE_AZYMUTH:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setAzimuth(((InteractiveAvatarFrame)avatar()).azimuth() + PApplet.PI / 64);
break;
case DECREASE_AZYMUTH:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setAzimuth(((InteractiveAvatarFrame)avatar()).azimuth() - PApplet.PI / 64);
break;
case INCREASE_INCLINATION:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setInclination(((InteractiveAvatarFrame)avatar()).inclination() + PApplet.PI / 64);
break;
case DECREASE_INCLINATION:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setInclination(((InteractiveAvatarFrame)avatar()).inclination() - PApplet.PI / 64);
break;
case INCREASE_TRACKING_DISTANCE:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setTrackingDistance(((InteractiveAvatarFrame)avatar()).trackingDistance() + radius() / 50);
break;
case DECREASE_TRACKING_DISTANCE:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setTrackingDistance(((InteractiveAvatarFrame)avatar()).trackingDistance() - radius() / 50);
break;
}
}

Fixed version (ground truth):
/** 
 * Internal method. Handles the different camera keyboard actions.
 */
protected void handleCameraKeyboardAction(CameraKeyboardAction id,Point p){
switch (id) {
case INTERPOLATE_TO_ZOOM_ON_PIXEL:
    if (Camera.class == camera().getClass())     System.out.println("String_Node_Str" + "String_Node_Str");
 else {
      Camera.WorldPoint wP=interpolateToZoomOnPixel(p);
      if (wP.found) {
        pupVec=wP.point;
        pupFlag=true;
        if (timerFx.timer() != null)         timerFx.timer().runTimerOnce(1000);
      }
    }
  break;
case INTERPOLATE_TO_FIT_SCENE:
camera().interpolateToFitScene();
break;
case SHOW_ALL:
showAll();
break;
case MOVE_CAMERA_LEFT:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(-10.0f * camera().flySpeed(),0.0f,0.0f)));
break;
case MOVE_CAMERA_RIGHT:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(10.0f * camera().flySpeed(),0.0f,0.0f)));
break;
case MOVE_CAMERA_UP:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(0.0f,-10.0f * camera().flySpeed(),0.0f)));
break;
case MOVE_CAMERA_DOWN:
camera().frame().translate(camera().frame().inverseTransformOf(new Vector3D(0.0f,10.0f * camera().flySpeed(),0.0f)));
break;
case INCREASE_ROTATION_SENSITIVITY:
camera().setRotationSensitivity(camera().rotationSensitivity() * 1.2f);
break;
case DECREASE_ROTATION_SENSITIVITY:
camera().setRotationSensitivity(camera().rotationSensitivity() / 1.2f);
break;
case INCREASE_CAMERA_FLY_SPEED:
camera().setFlySpeed(camera().flySpeed() * 1.2f);
break;
case DECREASE_CAMERA_FLY_SPEED:
camera().setFlySpeed(camera().flySpeed() / 1.2f);
break;
case INCREASE_AVATAR_FLY_SPEED:
if (avatar() != null) if (avatarIsInteractiveDrivableFrame) ((InteractiveDrivableFrame)avatar()).setFlySpeed(((InteractiveDrivableFrame)avatar()).flySpeed() * 1.2f);
break;
case DECREASE_AVATAR_FLY_SPEED:
if (avatar() != null) if (avatarIsInteractiveDrivableFrame) ((InteractiveDrivableFrame)avatar()).setFlySpeed(((InteractiveDrivableFrame)avatar()).flySpeed() / 1.2f);
break;
case INCREASE_AZYMUTH:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setAzimuth(((InteractiveAvatarFrame)avatar()).azimuth() + (float)Math.PI / 64);
break;
case DECREASE_AZYMUTH:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setAzimuth(((InteractiveAvatarFrame)avatar()).azimuth() - (float)Math.PI / 64);
break;
case INCREASE_INCLINATION:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setInclination(((InteractiveAvatarFrame)avatar()).inclination() + (float)Math.PI / 64);
break;
case DECREASE_INCLINATION:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setInclination(((InteractiveAvatarFrame)avatar()).inclination() - (float)Math.PI / 64);
break;
case INCREASE_TRACKING_DISTANCE:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setTrackingDistance(((InteractiveAvatarFrame)avatar()).trackingDistance() + radius() / 50);
break;
case DECREASE_TRACKING_DISTANCE:
if (avatar() != null) if (avatarIsInteractiveAvatarFrame) ((InteractiveAvatarFrame)avatar()).setTrackingDistance(((InteractiveAvatarFrame)avatar()).trackingDistance() - radius() / 50);
break;
}
}