Program: 11152
Project: 11152
Buggy source:
public Animator(){
  Configuration.setValue(AVKey.LAYERS_CLASS_NAMES,"String_Node_Str");
  Configuration.setValue(AVKey.VIEW_CLASS_NAME,BasicRollOrbitView.class.getName());
  Configuration.setValue(AVKey.SCENE_CONTROLLER_CLASS_NAME,AnimatorSceneController.class.getName());
  Configuration.setValue(AVKey.TASK_SERVICE_CLASS_NAME,ImmediateTaskService.class.getName());
  Configuration.setValue(AVKey.RETRIEVAL_SERVICE_CLASS_NAME,ImmediateRetrievalService.class.getName());
  Configuration.setValue(AVKey.TESSELLATOR_CLASS_NAME,ElevationTesselator.class.getName());
  Configuration.setValue(AVKey.AIRSPACE_GEOMETRY_CACHE_SIZE,16777216L * 8);
  animationChangeListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      changed=true;
      setTitleBar();
    }
  }
;
  animation=new Animation();
  resetChanged();
  updater=new Updater();
  frame=new JFrame();
  frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  frame.addWindowListener(new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      quit();
    }
  }
);
  frame.setLayout(new BorderLayout());
  wwd=new WorldWindowGLCanvas(caps);
  Model model=new BasicModel();
  wwd.setModel(model);
  setAnimationSize(1024,576);
  frame.add(wwd,BorderLayout.CENTER);
  ((AWTInputHandler)wwd.getInputHandler()).setSmoothViewChanges(false);
  ((OrbitView)wwd.getView()).getOrbitViewLimits().setPitchLimits(Angle.ZERO,Angle.POS180);
  ocem=new DetailedCompoundElevationModel();
  model.getGlobe().setElevationModel(ocem);
  wwd.getSceneController().setVerticalExaggeration(10);
  LayerList layers=model.getLayers();
  StarsLayer stars=new StarsLayer();
  layers.add(stars);
  SkyGradientLayer sky=new SkyGradientLayer();
  layers.add(sky);
  Layer depth=new DepthLayer();
  layers.add(depth);
  bmng=new ImmediateBMNGWMSLayer();
  layers.add(bmng);
  landsat=new ImmediateLandsatI3WMSLayer();
  layers.add(landsat);
  ElevationModel earthem=(ElevationModel)new ExtendedBasicElevationModelFactory().createFromConfigSource("String_Node_Str",null);
  ExtendedElevationModel eem=getEBEM(earthem);
  Sector bemSector=Sector.fromDegrees(-59.99875,-7.99875,91.99875,171.99875);
  ExtendedBasicElevationModel bem=FileLayer.createElevationModel("String_Node_Str","String_Node_Str",new File(DATA_DRIVE + "String_Node_Str"),7,150,LatLon.fromDegrees(20d,20d),bemSector,-8922,3958,AVKey.INT16);
  bem.setMissingDataSignal(-32768);
  Sector semSector=Sector.fromDegrees(-27.0015,-22.5005,106.5005,110.5025);
  ExtendedBasicElevationModel sem=FileLayer.createElevationModel("String_Node_Str","String_Node_Str",new File(DATA_DRIVE + "String_Node_Str"),7,150,LatLon.fromDegrees(20d,20d),semSector,-6400,-2310,AVKey.INT16);
  sem.setMissingDataSignal(-9999);
  ocem.addElevationModel(eem);
  ocem.addElevationModel(bem);
  sunPosition=new Vec4(7649434.404798721,4779897.118999491,-9020047.848073645,0.0);
  elevationEarth=new ShadedElevationLayer(eem);
  elevationEarth.setSunPosition(sunPosition);
  elevationEarth.setExaggeration(50);
  elevationEarth.setMaxElevationClamp(0);
  elevationEarth.setMinElevationClamp(bem.getMinElevation());
  layers.add(elevationEarth);
  Sector belevSector=new Sector(bemSector.getMinLatitude().addDegrees(1),bemSector.getMaxLatitude().addDegrees(-1),bemSector.getMinLongitude().addDegrees(1),bemSector.getMaxLongitude().addDegrees(-1));
  elevationSW=new ShadedElevationLayer(bem,belevSector);
  elevationSW.setSunPosition(sunPosition);
  elevationSW.setExaggeration(50);
  elevationSW.setSplitScale(1.65);
  elevationSW.setMaxElevationClamp(0);
  elevationSW.setMinElevationClamp(bem.getMinElevation());
  layers.add(elevationSW);
  Sector selevSector=new Sector(semSector.getMinLatitude(),semSector.getMaxLatitude(),semSector.getMinLongitude().addDegrees(0.1),semSector.getMaxLongitude());
  elevationSONNE=new ShadedElevationLayer(sem,selevSector);
  elevationSONNE.setSunPosition(sunPosition);
  elevationSONNE.setExaggeration(50);
  elevationSONNE.setSplitScale(1.65);
  elevationSONNE.setMaxElevationClamp(0);
  elevationSONNE.setMinElevationClamp(bem.getMinElevation());
  elevationSONNE.setShaderMaxElevation(bem.getMaxElevation());
  elevationSONNE.setShaderMinElevation(bem.getMinElevation());
  layers.add(elevationSONNE);
  shadowsEarth=new ShadowsElevationLayer(eem);
  shadowsEarth.setSunPosition(sunPosition);
  shadowsEarth.setOpacity(0.5);
  layers.add(shadowsEarth);
  shadowsSW=new ShadowsElevationLayer(bem,belevSector);
  shadowsSW.setSunPosition(sunPosition);
  shadowsSW.setOpacity(0.5);
  shadowsSW.setSplitScale(1.3);
  layers.add(shadowsSW);
  Layer gravity=new GravityLayer();
  layers.add(gravity);
  Layer magnetics=new MagneticsLayer();
  layers.add(magnetics);
  MetacartaStateBoundariesLayer state=new MetacartaStateBoundariesLayer();
  state.setSplitScale(1.2);
  layers.add(state);
  MetacartaCoastlineLayer coast=new MetacartaCoastlineLayer();
  coast.setSplitScale(1.2);
  layers.add(coast);
  for (  Layer layer : layers) {
    layer.setEnabled(false);
  }
  stars.setEnabled(true);
  sky.setEnabled(true);
  depth.setEnabled(true);
  bmng.setEnabled(true);
  elevationEarth.setEnabled(true);
  elevationSW.setEnabled(true);
  elevationSONNE.setEnabled(true);
  crosshair=new CrosshairLayer();
  layers.add(crosshair);
  JPanel bottom=new JPanel(new BorderLayout());
  frame.add(bottom,BorderLayout.SOUTH);
  slider=new FrameSlider(0,0,animation.getFrameCount());
  slider.setMinimumSize(new Dimension(0,54));
  bottom.add(slider,BorderLayout.CENTER);
  slider.addChangeListener(new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (!settingSlider) {
        if (animation.size() > 0) {
          applyView(getView());
          wwd.redraw();
        }
        stop=true;
      }
    }
  }
);
  slider.addChangeFrameListener(new ChangeFrameListener(){
    public void frameChanged(    int index,    int oldFrame,    int newFrame){
      animation.setFrame(index,newFrame);
      updateSlider();
      applyView(getView());
      wwd.redraw();
    }
  }
);
  getView().addPropertyChangeListener(AVKey.VIEW,new PropertyChangeListener(){
    public void propertyChange(    PropertyChangeEvent evt){
      if (autokey && !applying) {
        addFrame();
      }
    }
  }
);
  StatusBar statusBar=new StatusBar();
  statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
  bottom.add(statusBar,BorderLayout.SOUTH);
  statusBar.setEventSource(wwd);
  ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
  JPopupMenu.setDefaultLightWeightPopupEnabled(false);
  createMenuBar();
  setTitleBar();
  updateSlider();
  frame.pack();
  frame.setVisible(true);
}

Fixed version (ground truth):
public Animator(){
  Configuration.setValue(AVKey.LAYERS_CLASS_NAMES,"String_Node_Str");
  Configuration.setValue(AVKey.VIEW_CLASS_NAME,BasicRollOrbitView.class.getName());
  Configuration.setValue(AVKey.SCENE_CONTROLLER_CLASS_NAME,AnimatorSceneController.class.getName());
  Configuration.setValue(AVKey.TASK_SERVICE_CLASS_NAME,ImmediateTaskService.class.getName());
  Configuration.setValue(AVKey.RETRIEVAL_SERVICE_CLASS_NAME,ImmediateRetrievalService.class.getName());
  Configuration.setValue(AVKey.TESSELLATOR_CLASS_NAME,ElevationTesselator.class.getName());
  Configuration.setValue(AVKey.AIRSPACE_GEOMETRY_CACHE_SIZE,16777216L * 8);
  animationChangeListener=new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      changed=true;
      setTitleBar();
    }
  }
;
  animation=new Animation();
  resetChanged();
  updater=new Updater();
  frame=new JFrame();
  frame.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
  frame.addWindowListener(new WindowAdapter(){
    @Override public void windowClosing(    WindowEvent e){
      quit();
    }
  }
);
  frame.setLayout(new BorderLayout());
  wwd=new WorldWindowGLCanvas(caps);
  Model model=new BasicModel();
  wwd.setModel(model);
  setAnimationSize(1024,576);
  frame.add(wwd,BorderLayout.CENTER);
  ((AWTInputHandler)wwd.getInputHandler()).setSmoothViewChanges(false);
  ((OrbitView)wwd.getView()).getOrbitViewLimits().setPitchLimits(Angle.ZERO,Angle.POS180);
  CompoundElevationModel cem=new CompoundElevationModel();
  dem=new DetailedElevationModel(cem);
  model.getGlobe().setElevationModel(dem);
  wwd.getSceneController().setVerticalExaggeration(10);
  LayerList layers=model.getLayers();
  StarsLayer stars=new StarsLayer();
  layers.add(stars);
  SkyGradientLayer sky=new SkyGradientLayer();
  layers.add(sky);
  Layer depth=new DepthLayer();
  layers.add(depth);
  bmng=new ImmediateBMNGWMSLayer();
  layers.add(bmng);
  landsat=new ImmediateLandsatI3WMSLayer();
  layers.add(landsat);
  ElevationModel earthem=(ElevationModel)new ExtendedBasicElevationModelFactory().createFromConfigSource("String_Node_Str",null);
  ExtendedElevationModel eem=getEBEM(earthem);
  Sector bemSector=Sector.fromDegrees(-59.99875,-7.99875,91.99875,171.99875);
  ExtendedBasicElevationModel bem=FileLayer.createElevationModel("String_Node_Str","String_Node_Str",new File(DATA_DRIVE + "String_Node_Str"),7,150,LatLon.fromDegrees(20d,20d),bemSector,-8922,3958,AVKey.INT16);
  bem.setMissingDataSignal(-32768);
  Sector semSector=Sector.fromDegrees(-27.0015,-22.5005,106.5005,110.5025);
  ExtendedBasicElevationModel sem=FileLayer.createElevationModel("String_Node_Str","String_Node_Str",new File(DATA_DRIVE + "String_Node_Str"),7,150,LatLon.fromDegrees(20d,20d),semSector,-6400,-2310,AVKey.INT16);
  sem.setMissingDataSignal(-9999);
  cem.addElevationModel(eem);
  cem.addElevationModel(bem);
  sunPosition=new Vec4(7649434.404798721,4779897.118999491,-9020047.848073645,0.0);
  elevationEarth=new ShadedElevationLayer(eem);
  elevationEarth.setSunPosition(sunPosition);
  elevationEarth.setExaggeration(50);
  elevationEarth.setMaxElevationClamp(0);
  elevationEarth.setMinElevationClamp(bem.getMinElevation());
  layers.add(elevationEarth);
  Sector belevSector=new Sector(bemSector.getMinLatitude().addDegrees(1),bemSector.getMaxLatitude().addDegrees(-1),bemSector.getMinLongitude().addDegrees(1),bemSector.getMaxLongitude().addDegrees(-1));
  elevationSW=new ShadedElevationLayer(bem,belevSector);
  elevationSW.setSunPosition(sunPosition);
  elevationSW.setExaggeration(50);
  elevationSW.setSplitScale(1.65);
  elevationSW.setMaxElevationClamp(0);
  elevationSW.setMinElevationClamp(bem.getMinElevation());
  layers.add(elevationSW);
  Sector selevSector=new Sector(semSector.getMinLatitude(),semSector.getMaxLatitude(),semSector.getMinLongitude().addDegrees(0.1),semSector.getMaxLongitude());
  elevationSONNE=new ShadedElevationLayer(sem,selevSector);
  elevationSONNE.setSunPosition(sunPosition);
  elevationSONNE.setExaggeration(50);
  elevationSONNE.setSplitScale(1.65);
  elevationSONNE.setMaxElevationClamp(0);
  elevationSONNE.setMinElevationClamp(bem.getMinElevation());
  elevationSONNE.setShaderMaxElevation(bem.getMaxElevation());
  elevationSONNE.setShaderMinElevation(bem.getMinElevation());
  layers.add(elevationSONNE);
  shadowsEarth=new ShadowsElevationLayer(eem);
  shadowsEarth.setSunPosition(sunPosition);
  shadowsEarth.setOpacity(0.5);
  layers.add(shadowsEarth);
  shadowsSW=new ShadowsElevationLayer(bem,belevSector);
  shadowsSW.setSunPosition(sunPosition);
  shadowsSW.setOpacity(0.5);
  shadowsSW.setSplitScale(1.3);
  layers.add(shadowsSW);
  Layer gravity=new GravityLayer();
  layers.add(gravity);
  Layer magnetics=new MagneticsLayer();
  layers.add(magnetics);
  MetacartaStateBoundariesLayer state=new MetacartaStateBoundariesLayer();
  state.setSplitScale(1.2);
  layers.add(state);
  MetacartaCoastlineLayer coast=new MetacartaCoastlineLayer();
  coast.setSplitScale(1.2);
  layers.add(coast);
  for (  Layer layer : layers) {
    layer.setEnabled(false);
  }
  stars.setEnabled(true);
  sky.setEnabled(true);
  depth.setEnabled(true);
  bmng.setEnabled(true);
  elevationEarth.setEnabled(true);
  elevationSW.setEnabled(true);
  elevationSONNE.setEnabled(true);
  crosshair=new CrosshairLayer();
  layers.add(crosshair);
  JPanel bottom=new JPanel(new BorderLayout());
  frame.add(bottom,BorderLayout.SOUTH);
  slider=new FrameSlider(0,0,animation.getFrameCount());
  slider.setMinimumSize(new Dimension(0,54));
  bottom.add(slider,BorderLayout.CENTER);
  slider.addChangeListener(new ChangeListener(){
    public void stateChanged(    ChangeEvent e){
      if (!settingSlider) {
        if (animation.size() > 0) {
          applyView(getView());
          wwd.redraw();
        }
        stop=true;
      }
    }
  }
);
  slider.addChangeFrameListener(new ChangeFrameListener(){
    public void frameChanged(    int index,    int oldFrame,    int newFrame){
      animation.setFrame(index,newFrame);
      updateSlider();
      applyView(getView());
      wwd.redraw();
    }
  }
);
  getView().addPropertyChangeListener(AVKey.VIEW,new PropertyChangeListener(){
    public void propertyChange(    PropertyChangeEvent evt){
      if (autokey && !applying) {
        addFrame();
      }
    }
  }
);
  StatusBar statusBar=new StatusBar();
  statusBar.setBorder(BorderFactory.createLoweredBevelBorder());
  bottom.add(statusBar,BorderLayout.SOUTH);
  statusBar.setEventSource(wwd);
  ToolTipManager.sharedInstance().setLightWeightPopupEnabled(false);
  JPopupMenu.setDefaultLightWeightPopupEnabled(false);
  createMenuBar();
  setTitleBar();
  updateSlider();
  frame.pack();
  frame.setVisible(true);
}