Program: 47875
Project: 47875
Buggy source:
/** 
 * @param args the program args (ignored)
 */
public static void main(String[] args){
  TileFactoryInfo info=new OSMTileFactoryInfo();
  DefaultTileFactory tileFactory=new DefaultTileFactory(info);
  tileFactory.setThreadPoolSize(8);
  File cacheDir=new File(System.getProperty("String_Node_Str") + File.separator + "String_Node_Str");
  LocalResponseCache.installResponseCache(info.getBaseURL(),cacheDir,false);
  final JXMapViewer mapViewer=new JXMapViewer();
  mapViewer.setTileFactory(tileFactory);
  GeoPosition frankfurt=new GeoPosition(50.11,8.68);
  mapViewer.setZoom(7);
  mapViewer.setAddressLocation(frankfurt);
  MouseInputListener mia=new PanMouseInputListener(mapViewer);
  mapViewer.addMouseListener(mia);
  mapViewer.addMouseMotionListener(mia);
  mapViewer.addMouseListener(new CenterMapListener(mapViewer));
  mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCursor(mapViewer));
  mapViewer.addKeyListener(new PanKeyListener(mapViewer));
  SelectionAdapter sa=new SelectionAdapter(mapViewer);
  SelectionPainter sp=new SelectionPainter(sa);
  mapViewer.addMouseListener(sa);
  mapViewer.addMouseMotionListener(sa);
  mapViewer.setOverlayPainter(sp);
  final JFrame frame=new JFrame();
  frame.setLayout(new BorderLayout());
  frame.add(new JLabel("String_Node_Str"),BorderLayout.NORTH);
  frame.add(mapViewer);
  frame.setSize(800,600);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
  mapViewer.addPropertyChangeListener("String_Node_Str",new PropertyChangeListener(){
    @Override public void propertyChange(    PropertyChangeEvent evt){
      updateWindowTitle(frame,mapViewer);
    }
  }
);
  mapViewer.addPropertyChangeListener("String_Node_Str",new PropertyChangeListener(){
    @Override public void propertyChange(    PropertyChangeEvent evt){
      updateWindowTitle(frame,mapViewer);
    }
  }
);
  updateWindowTitle(frame,mapViewer);
}

Fixed version (ground truth):
/** 
 * @param args the program args (ignored)
 */
public static void main(String[] args){
  TileFactoryInfo info=new OSMTileFactoryInfo();
  DefaultTileFactory tileFactory=new DefaultTileFactory(info);
  tileFactory.setThreadPoolSize(8);
  File cacheDir=new File(System.getProperty("String_Node_Str") + File.separator + "String_Node_Str");
  LocalResponseCache.installResponseCache(info.getBaseURL(),cacheDir,false);
  final JXMapViewer mapViewer=new JXMapViewer();
  tileFactory.setLocalCache(new FileBasedLocalCache(cacheDir,false));
  mapViewer.setTileFactory(tileFactory);
  GeoPosition frankfurt=new GeoPosition(50.11,8.68);
  mapViewer.setZoom(7);
  mapViewer.setAddressLocation(frankfurt);
  MouseInputListener mia=new PanMouseInputListener(mapViewer);
  mapViewer.addMouseListener(mia);
  mapViewer.addMouseMotionListener(mia);
  mapViewer.addMouseListener(new CenterMapListener(mapViewer));
  mapViewer.addMouseWheelListener(new ZoomMouseWheelListenerCursor(mapViewer));
  mapViewer.addKeyListener(new PanKeyListener(mapViewer));
  SelectionAdapter sa=new SelectionAdapter(mapViewer);
  SelectionPainter sp=new SelectionPainter(sa);
  mapViewer.addMouseListener(sa);
  mapViewer.addMouseMotionListener(sa);
  mapViewer.setOverlayPainter(sp);
  final JFrame frame=new JFrame();
  frame.setLayout(new BorderLayout());
  frame.add(new JLabel("String_Node_Str"),BorderLayout.NORTH);
  frame.add(mapViewer);
  frame.setSize(800,600);
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  frame.setVisible(true);
  mapViewer.addPropertyChangeListener("String_Node_Str",new PropertyChangeListener(){
    @Override public void propertyChange(    PropertyChangeEvent evt){
      updateWindowTitle(frame,mapViewer);
    }
  }
);
  mapViewer.addPropertyChangeListener("String_Node_Str",new PropertyChangeListener(){
    @Override public void propertyChange(    PropertyChangeEvent evt){
      updateWindowTitle(frame,mapViewer);
    }
  }
);
  updateWindowTitle(frame,mapViewer);
}