Program: 11413
Project: 11413
Buggy source:
@Override public GlimpseLayout getLayout() throws Exception {
  final GeoProjection geoProj=new TangentPlane(LatLonGeo.fromDeg(38.958374,-77.358548));
  final boolean inUS=true;
  final MultiAxisPlot2D mapPlot=new MultiAxisPlot2D(){
    @Override protected AxisMouseListener createAxisMouseListenerXY(){
      return new SlippyAxisMouseListener2D(geoProj);
    }
  }
;
  double rad=Length.fromKilometers(1);
  mapPlot.getCenterAxis().lockAspectRatioXY(1);
  mapPlot.getCenterAxis().set(-rad,rad,-rad,rad);
  final SlippyMapTilePainter mapPainter=SlippyPainterFactory.getMapQuestMaps(geoProj);
  mapPlot.addPainter(mapPainter);
  final SlippyMapTilePainter satPainter=SlippyPainterFactory.getMapQuestImagery(geoProj,inUS);
  mapPlot.addPainter(satPainter);
  satPainter.setVisible(false);
  final SlippyMapTilePainter cartoLightPainter=SlippyPainterFactory.getCartoMap(geoProj,true,true);
  mapPlot.addPainter(cartoLightPainter);
  cartoLightPainter.setVisible(false);
  final SlippyMapTilePainter cartoDarkPainter=SlippyPainterFactory.getCartoMap(geoProj,false,false);
  mapPlot.addPainter(cartoDarkPainter);
  cartoDarkPainter.setVisible(false);
  this.mapToolBar=new JMenuBar();
  ButtonGroup group=new ButtonGroup();
  final JRadioButton mapCheckBox=new JRadioButton("String_Node_Str",mapPainter.isVisible());
  final JRadioButton satcheckBox=new JRadioButton("String_Node_Str",satPainter.isVisible());
  final JRadioButton cartoLightCheckBox=new JRadioButton("String_Node_Str",cartoLightPainter.isVisible());
  final JRadioButton cartoDarkcheckBox=new JRadioButton("String_Node_Str",cartoDarkPainter.isVisible());
  group.add(mapCheckBox);
  group.add(satcheckBox);
  group.add(cartoLightCheckBox);
  group.add(cartoDarkcheckBox);
  ActionListener l=new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      mapPainter.setVisible(mapCheckBox.isSelected());
      satPainter.setVisible(satcheckBox.isSelected());
      cartoLightPainter.setVisible(cartoLightCheckBox.isSelected());
      cartoDarkPainter.setVisible(cartoDarkcheckBox.isSelected());
    }
  }
;
  mapToolBar.add(mapCheckBox);
  mapToolBar.add(satcheckBox);
  mapToolBar.add(cartoLightCheckBox);
  mapToolBar.add(cartoDarkcheckBox);
  mapCheckBox.addActionListener(l);
  satcheckBox.addActionListener(l);
  cartoLightCheckBox.addActionListener(l);
  cartoDarkcheckBox.addActionListener(l);
  return mapPlot;
}

Fixed version (ground truth):
@Override public GlimpseLayout getLayout() throws Exception {
  final GeoProjection geoProj=new TangentPlane(LatLonGeo.fromDeg(38.958374,-77.358548));
  final boolean inUS=true;
  final MultiAxisPlot2D mapPlot=new MultiAxisPlot2D(){
    @Override protected AxisMouseListener createAxisMouseListenerXY(){
      return new SlippyAxisMouseListener2D(geoProj);
    }
  }
;
  double rad=Length.fromKilometers(1);
  mapPlot.getCenterAxis().lockAspectRatioXY(1);
  mapPlot.getCenterAxis().set(-rad,rad,-rad,rad);
  final SlippyMapTilePainter mapPainter=SlippyPainterFactory.getMapQuestMaps(geoProj);
  mapPlot.addPainter(mapPainter);
  final SlippyMapTilePainter satPainter=SlippyPainterFactory.getMapQuestImagery(geoProj,inUS);
  mapPlot.addPainter(satPainter);
  satPainter.setVisible(false);
  final SlippyMapTilePainter cartoLightPainter=SlippyPainterFactory.getCartoMap(geoProj,true,true);
  mapPlot.addPainter(cartoLightPainter);
  cartoLightPainter.setVisible(false);
  final SlippyMapTilePainter cartoDarkPainter=SlippyPainterFactory.getCartoMap(geoProj,false,false);
  mapPlot.addPainter(cartoDarkPainter);
  cartoDarkPainter.setVisible(false);
  ScalePainter scalePainter=new ScalePainter();
  scalePainter.setUnitConverter(AxisUnitConverters.suShownAsMeters);
  scalePainter.setUnitLabel("String_Node_Str");
  mapPlot.addPainter(scalePainter);
  this.mapToolBar=new JMenuBar();
  ButtonGroup group=new ButtonGroup();
  final JRadioButton mapCheckBox=new JRadioButton("String_Node_Str",mapPainter.isVisible());
  final JRadioButton satcheckBox=new JRadioButton("String_Node_Str",satPainter.isVisible());
  final JRadioButton cartoLightCheckBox=new JRadioButton("String_Node_Str",cartoLightPainter.isVisible());
  final JRadioButton cartoDarkcheckBox=new JRadioButton("String_Node_Str",cartoDarkPainter.isVisible());
  group.add(mapCheckBox);
  group.add(satcheckBox);
  group.add(cartoLightCheckBox);
  group.add(cartoDarkcheckBox);
  ActionListener l=new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      mapPainter.setVisible(mapCheckBox.isSelected());
      satPainter.setVisible(satcheckBox.isSelected());
      cartoLightPainter.setVisible(cartoLightCheckBox.isSelected());
      cartoDarkPainter.setVisible(cartoDarkcheckBox.isSelected());
    }
  }
;
  mapToolBar.add(mapCheckBox);
  mapToolBar.add(satcheckBox);
  mapToolBar.add(cartoLightCheckBox);
  mapToolBar.add(cartoDarkcheckBox);
  mapCheckBox.addActionListener(l);
  satcheckBox.addActionListener(l);
  cartoLightCheckBox.addActionListener(l);
  cartoDarkcheckBox.addActionListener(l);
  return mapPlot;
}