} else { m_List.setSelectedIndex(current - 1);
  public void actionPerformed(ActionEvent e) {    if (e.getSource() == m_AddBut) {      // Let the user select an arff file from a file chooser      int returnVal = m_FileChooser.showOpenDialog(this);      if(returnVal == JFileChooser.APPROVE_OPTION) {	if (m_FileChooser.isMultiSelectionEnabled()) {	  File [] selected = m_FileChooser.getSelectedFiles();	  for (int i = 0; i < selected.length; i++) {	    m_Exp.getDatasets().addElement(selected[i]);	  }	  m_DeleteBut.setEnabled(true);	} else {	  m_Exp.getDatasets().addElement(m_FileChooser.getSelectedFile());	  m_DeleteBut.setEnabled(true);	}      }    } else if (e.getSource() == m_DeleteBut) {      // Delete the selected files      int [] selected = m_List.getSelectedIndices();      if (selected != null) {	for (int i = 0; i < selected.length; i++) {	  int current = selected[i];	  m_Exp.getDatasets().removeElementAt(current);	  if (m_Exp.getDatasets().size() > current) {	    m_List.setSelectedIndex(current);	  }	}      }      if (m_List.getSelectedIndex() == -1) {	m_DeleteBut.setEnabled(false);      }    }  }