Program: 43869
Project: 43869
Buggy source:
/** 
 * Create the frame.
 */
public AppFrame(){
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100,100,950,600);
  contentPane=new JPanel();
  contentPane.setBorder(new EmptyBorder(5,5,5,5));
  setContentPane(contentPane);
  GridBagLayout gbl_contentPane=new GridBagLayout();
  gbl_contentPane.columnWidths=new int[]{0,0,0,0};
  gbl_contentPane.rowHeights=new int[]{0,0,0,0,0,0};
  gbl_contentPane.columnWeights=new double[]{0.0,1.0,0.0,Double.MIN_VALUE};
  gbl_contentPane.rowWeights=new double[]{0.0,0.0,0.0,1.0,0.0,Double.MIN_VALUE};
  contentPane.setLayout(gbl_contentPane);
  JLabel lInput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lInput=new GridBagConstraints();
  gbc_lInput.insets=new Insets(0,0,5,5);
  gbc_lInput.anchor=GridBagConstraints.EAST;
  gbc_lInput.gridx=0;
  gbc_lInput.gridy=0;
  contentPane.add(lInput,gbc_lInput);
  tInput=new JTextField();
  GridBagConstraints gbc_tInput=new GridBagConstraints();
  gbc_tInput.insets=new Insets(0,0,5,5);
  gbc_tInput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tInput.gridx=1;
  gbc_tInput.gridy=0;
  contentPane.add(tInput,gbc_tInput);
  tInput.setColumns(10);
  JButton bOpen=new JButton("String_Node_Str");
  GridBagConstraints gbc_bOpen=new GridBagConstraints();
  gbc_bOpen.fill=GridBagConstraints.HORIZONTAL;
  gbc_bOpen.insets=new Insets(0,0,5,0);
  gbc_bOpen.gridx=2;
  gbc_bOpen.gridy=0;
  contentPane.add(bOpen,gbc_bOpen);
  bOpen.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      dialog.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          boolean ret=f.getName().toLowerCase().endsWith("String_Node_Str");
          ret=ret || f.isDirectory();
          return ret;
        }
      }
);
      int ret=dialog.showOpenDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        File file=dialog.getSelectedFile();
        try {
          converter.setFile(file);
          tInput.setText(file.getAbsolutePath());
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
  }
);
  JLabel lOutput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lOutput=new GridBagConstraints();
  gbc_lOutput.anchor=GridBagConstraints.EAST;
  gbc_lOutput.insets=new Insets(0,0,5,5);
  gbc_lOutput.gridx=0;
  gbc_lOutput.gridy=1;
  contentPane.add(lOutput,gbc_lOutput);
  tOutput=new JTextField();
  GridBagConstraints gbc_tOutput=new GridBagConstraints();
  gbc_tOutput.insets=new Insets(0,0,5,5);
  gbc_tOutput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tOutput.gridx=1;
  gbc_tOutput.gridy=1;
  contentPane.add(tOutput,gbc_tOutput);
  tOutput.setColumns(10);
  JButton bSave=new JButton("String_Node_Str");
  GridBagConstraints gbc_bSave=new GridBagConstraints();
  gbc_bSave.insets=new Insets(0,0,5,0);
  gbc_bSave.fill=GridBagConstraints.HORIZONTAL;
  gbc_bSave.gridx=2;
  gbc_bSave.gridy=1;
  contentPane.add(bSave,gbc_bSave);
  bSave.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      int ret=dialog.showSaveDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        outputFile=dialog.getSelectedFile();
        tOutput.setText(outputFile.getAbsolutePath());
      }
    }
  }
);
  JPanel timePanel=new JPanel();
  GridBagConstraints gbc_timePanel=new GridBagConstraints();
  gbc_timePanel.fill=GridBagConstraints.HORIZONTAL;
  gbc_timePanel.insets=new Insets(0,0,5,5);
  gbc_timePanel.anchor=GridBagConstraints.NORTH;
  gbc_timePanel.gridwidth=2;
  gbc_timePanel.gridx=0;
  gbc_timePanel.gridy=2;
  contentPane.add(timePanel,gbc_timePanel);
  timePanel.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
  JLabel lFrom=new JLabel("String_Node_Str");
  timePanel.add(lFrom);
  final JSpinner sFrom=new JSpinner();
  sFrom.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sFrom);
  JLabel lTo=new JLabel("String_Node_Str");
  timePanel.add(lTo);
  final JSpinner sTo=new JSpinner();
  sTo.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sTo);
  JButton bWrite=new JButton("String_Node_Str");
  GridBagConstraints gbc_btnNewButton=new GridBagConstraints();
  gbc_btnNewButton.fill=GridBagConstraints.HORIZONTAL;
  gbc_btnNewButton.insets=new Insets(0,0,5,0);
  gbc_btnNewButton.gridx=2;
  gbc_btnNewButton.gridy=2;
  contentPane.add(bWrite,gbc_btnNewButton);
  bWrite.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Date from=(Date)sFrom.getValue();
      Date to=(Date)sTo.getValue();
      Persister persister=new Persister(from,to,converter);
      try {
        persister.persistAsCSV(outputFile);
      }
 catch (      IOException e1) {
        JOptionPane.showMessageDialog(contentPane,e1.getMessage(),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
        e1.printStackTrace();
      }
      JOptionPane.showMessageDialog(contentPane,"String_Node_Str" + outputFile.getAbsolutePath());
    }
  }
);
  final JPanel chartPanel=new JPanel(new BorderLayout());
  GridBagConstraints gbc_chartPanel=new GridBagConstraints();
  gbc_chartPanel.insets=new Insets(0,0,5,0);
  gbc_chartPanel.gridwidth=3;
  gbc_chartPanel.fill=GridBagConstraints.BOTH;
  gbc_chartPanel.gridx=0;
  gbc_chartPanel.gridy=3;
  contentPane.add(chartPanel,gbc_chartPanel);
  JPanel buttonPanel=new JPanel();
  GridBagConstraints gbc_buttonPanel=new GridBagConstraints();
  gbc_buttonPanel.insets=new Insets(0,0,0,5);
  gbc_buttonPanel.anchor=GridBagConstraints.SOUTHWEST;
  gbc_buttonPanel.gridwidth=2;
  gbc_buttonPanel.gridx=0;
  gbc_buttonPanel.gridy=4;
  contentPane.add(buttonPanel,gbc_buttonPanel);
  buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
  JLabel lDate=new JLabel("String_Node_Str");
  buttonPanel.add(lDate);
  final JFormattedTextField tDate=new JFormattedTextField();
  tDate.setEditable(false);
  tDate.setColumns(20);
  buttonPanel.add(tDate);
  JButton bSaveAsFrom=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsFrom);
  bSaveAsFrom.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sFrom.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bSaveAsTo=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsTo);
  bSaveAsTo.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sTo.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bPreview=new JButton("String_Node_Str");
  GridBagConstraints gbc_bPreview=new GridBagConstraints();
  gbc_bPreview.gridx=2;
  gbc_bPreview.gridy=4;
  contentPane.add(bPreview,gbc_bPreview);
  bPreview.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      try {
        chart.reset();
        chartPanel.removeAll();
        Instances dataSet=converter.getDataSet();
        chart.buildContent(dataSet);
        chartPanel.add(chart.getChartPanel(),BorderLayout.CENTER);
        chartPanel.validate();
        chart.getChart().addProgressListener(new ChartListener(tDate));
      }
 catch (      IOException e1) {
        e1.printStackTrace();
      }
    }
  }
);
}

Fixed version (ground truth):
/** 
 * Create the frame.
 */
public AppFrame(){
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  setBounds(100,100,950,600);
  contentPane=new JPanel();
  contentPane.setBorder(new EmptyBorder(5,5,5,5));
  setContentPane(contentPane);
  GridBagLayout gbl_contentPane=new GridBagLayout();
  gbl_contentPane.columnWidths=new int[]{0,0,0,0};
  gbl_contentPane.rowHeights=new int[]{0,0,0,0,0,0,0};
  gbl_contentPane.columnWeights=new double[]{0.0,1.0,0.0,Double.MIN_VALUE};
  gbl_contentPane.rowWeights=new double[]{0.0,0.0,0.0,1.0,0.0,0.0,Double.MIN_VALUE};
  contentPane.setLayout(gbl_contentPane);
  JLabel lInput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lInput=new GridBagConstraints();
  gbc_lInput.insets=new Insets(0,0,5,5);
  gbc_lInput.anchor=GridBagConstraints.EAST;
  gbc_lInput.gridx=0;
  gbc_lInput.gridy=0;
  contentPane.add(lInput,gbc_lInput);
  tInput=new JTextField();
  GridBagConstraints gbc_tInput=new GridBagConstraints();
  gbc_tInput.insets=new Insets(0,0,5,5);
  gbc_tInput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tInput.gridx=1;
  gbc_tInput.gridy=0;
  contentPane.add(tInput,gbc_tInput);
  tInput.setColumns(10);
  JButton bOpen=new JButton("String_Node_Str");
  GridBagConstraints gbc_bOpen=new GridBagConstraints();
  gbc_bOpen.fill=GridBagConstraints.HORIZONTAL;
  gbc_bOpen.insets=new Insets(0,0,5,0);
  gbc_bOpen.gridx=2;
  gbc_bOpen.gridy=0;
  contentPane.add(bOpen,gbc_bOpen);
  bOpen.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      dialog.setFileFilter(new FileFilter(){
        @Override public String getDescription(){
          return "String_Node_Str";
        }
        @Override public boolean accept(        File f){
          boolean ret=f.getName().toLowerCase().endsWith("String_Node_Str");
          ret=ret || f.isDirectory();
          return ret;
        }
      }
);
      int ret=dialog.showOpenDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        File file=dialog.getSelectedFile();
        try {
          converter.setFile(file);
          tInput.setText(file.getAbsolutePath());
        }
 catch (        IOException e1) {
          e1.printStackTrace();
        }
      }
    }
  }
);
  JLabel lOutput=new JLabel("String_Node_Str");
  GridBagConstraints gbc_lOutput=new GridBagConstraints();
  gbc_lOutput.anchor=GridBagConstraints.EAST;
  gbc_lOutput.insets=new Insets(0,0,5,5);
  gbc_lOutput.gridx=0;
  gbc_lOutput.gridy=1;
  contentPane.add(lOutput,gbc_lOutput);
  tOutput=new JTextField();
  GridBagConstraints gbc_tOutput=new GridBagConstraints();
  gbc_tOutput.insets=new Insets(0,0,5,5);
  gbc_tOutput.fill=GridBagConstraints.HORIZONTAL;
  gbc_tOutput.gridx=1;
  gbc_tOutput.gridy=1;
  contentPane.add(tOutput,gbc_tOutput);
  tOutput.setColumns(10);
  JButton bSave=new JButton("String_Node_Str");
  GridBagConstraints gbc_bSave=new GridBagConstraints();
  gbc_bSave.insets=new Insets(0,0,5,0);
  gbc_bSave.fill=GridBagConstraints.HORIZONTAL;
  gbc_bSave.gridx=2;
  gbc_bSave.gridy=1;
  contentPane.add(bSave,gbc_bSave);
  bSave.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      JFileChooser dialog=new JFileChooser();
      int ret=dialog.showSaveDialog(contentPane);
      if (ret == JFileChooser.APPROVE_OPTION) {
        outputFile=dialog.getSelectedFile();
        tOutput.setText(outputFile.getAbsolutePath());
      }
    }
  }
);
  JPanel timePanel=new JPanel();
  GridBagConstraints gbc_timePanel=new GridBagConstraints();
  gbc_timePanel.fill=GridBagConstraints.HORIZONTAL;
  gbc_timePanel.insets=new Insets(0,0,5,5);
  gbc_timePanel.anchor=GridBagConstraints.NORTH;
  gbc_timePanel.gridwidth=2;
  gbc_timePanel.gridx=0;
  gbc_timePanel.gridy=2;
  contentPane.add(timePanel,gbc_timePanel);
  timePanel.setLayout(new FlowLayout(FlowLayout.LEFT,5,5));
  JLabel lFrom=new JLabel("String_Node_Str");
  timePanel.add(lFrom);
  final JSpinner sFrom=new JSpinner();
  sFrom.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sFrom);
  JLabel lTo=new JLabel("String_Node_Str");
  timePanel.add(lTo);
  final JSpinner sTo=new JSpinner();
  sTo.setModel(new SpinnerDateModel(new Date(),null,null,Calendar.DAY_OF_YEAR));
  timePanel.add(sTo);
  JButton bWrite=new JButton("String_Node_Str");
  GridBagConstraints gbc_btnNewButton=new GridBagConstraints();
  gbc_btnNewButton.fill=GridBagConstraints.HORIZONTAL;
  gbc_btnNewButton.insets=new Insets(0,0,5,0);
  gbc_btnNewButton.gridx=2;
  gbc_btnNewButton.gridy=2;
  contentPane.add(bWrite,gbc_btnNewButton);
  bWrite.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      Date from=(Date)sFrom.getValue();
      Date to=(Date)sTo.getValue();
      Persister persister=new Persister(from,to,converter);
      try {
        persister.persistAsCSV(outputFile);
      }
 catch (      IOException e1) {
        JOptionPane.showMessageDialog(contentPane,e1.getMessage(),"String_Node_Str",JOptionPane.ERROR_MESSAGE);
        e1.printStackTrace();
      }
      JOptionPane.showMessageDialog(contentPane,"String_Node_Str" + outputFile.getAbsolutePath());
    }
  }
);
  final JPanel chartPanel=new JPanel(new BorderLayout());
  GridBagConstraints gbc_chartPanel=new GridBagConstraints();
  gbc_chartPanel.insets=new Insets(0,0,5,0);
  gbc_chartPanel.gridwidth=3;
  gbc_chartPanel.fill=GridBagConstraints.BOTH;
  gbc_chartPanel.gridx=0;
  gbc_chartPanel.gridy=3;
  contentPane.add(chartPanel,gbc_chartPanel);
  JPanel buttonPanel=new JPanel();
  GridBagConstraints gbc_buttonPanel=new GridBagConstraints();
  gbc_buttonPanel.insets=new Insets(0,0,5,5);
  gbc_buttonPanel.anchor=GridBagConstraints.SOUTHWEST;
  gbc_buttonPanel.gridwidth=2;
  gbc_buttonPanel.gridx=0;
  gbc_buttonPanel.gridy=4;
  contentPane.add(buttonPanel,gbc_buttonPanel);
  buttonPanel.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
  JLabel lDate=new JLabel("String_Node_Str");
  buttonPanel.add(lDate);
  final JFormattedTextField tDate=new JFormattedTextField();
  tDate.setEditable(false);
  tDate.setColumns(20);
  buttonPanel.add(tDate);
  JButton bSaveAsFrom=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsFrom);
  bSaveAsFrom.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sFrom.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bSaveAsTo=new JButton("String_Node_Str");
  buttonPanel.add(bSaveAsTo);
  bSaveAsTo.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      String text=tDate.getText();
      try {
        Date date=df.parse(text);
        sTo.setValue(date);
      }
 catch (      ParseException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  JButton bPreview=new JButton("String_Node_Str");
  GridBagConstraints gbc_bPreview=new GridBagConstraints();
  gbc_bPreview.insets=new Insets(0,0,5,0);
  gbc_bPreview.gridx=2;
  gbc_bPreview.gridy=4;
  contentPane.add(bPreview,gbc_bPreview);
  bPreview.addActionListener(new ActionListener(){
    @Override public void actionPerformed(    ActionEvent e){
      try {
        chart.reset();
        chartPanel.removeAll();
        Instances dataSet=converter.getDataSet();
        chart.buildContent(dataSet);
        chartPanel.add(chart.getChartPanel(),BorderLayout.CENTER);
        chartPanel.validate();
        chart.getChart().addProgressListener(new ChartListener(tDate));
      }
 catch (      IOException e1) {
        e1.printStackTrace();
      }
    }
  }
);
  progressBar=new JProgressBar();
  progressBar.setMaximum(100);
  progressBar.setMinimum(0);
  progressBar.setStringPainted(true);
  GridBagConstraints gbc_progressBar=new GridBagConstraints();
  gbc_progressBar.fill=GridBagConstraints.HORIZONTAL;
  gbc_progressBar.gridwidth=3;
  gbc_progressBar.insets=new Insets(0,0,0,5);
  gbc_progressBar.gridx=0;
  gbc_progressBar.gridy=5;
  contentPane.add(progressBar,gbc_progressBar);
  chart.addPropertyChangeListener(this);
}