public void undo(){
  if (--m_tempUndoIndex < 0) {
    m_tempUndoIndex=m_tempUndoFiles.length - 1;
  }
  if (m_tempUndoFiles[m_tempUndoIndex] != null) {
    AbstractFileLoader loader=ConverterUtils.getLoaderForFile(m_tempUndoFiles[m_tempUndoIndex]);
    try {
      loader.setFile(m_tempUndoFiles[m_tempUndoIndex]);
      setInstancesFromFile(loader);
    }
 catch (    Exception e) {
      e.printStackTrace();
      m_Log.logMessage(e.toString());
      JOptionPane.showMessageDialog(PreprocessPanel.this,"Cannot perform undo operation!\n" + e.toString(),"Undo",JOptionPane.ERROR_MESSAGE);
    }
    m_tempUndoFiles[m_tempUndoIndex]=null;
  }
  int temp=m_tempUndoIndex - 1;
  if (temp < 0) {
    temp=m_tempUndoFiles.length - 1;
  }
  m_UndoBut.setEnabled(m_tempUndoFiles[temp] != null);
}

public void undo ( ) { if ( -- m_tempUndoIndex < 0 ) { m_tempUndoIndex = m_tempUndoFiles . length - 1 ; } if ( m_tempUndoFiles [ m_tempUndoIndex ] != null ) { AbstractFileLoader loader = ConverterUtils . getLoaderForFile ( m_tempUndoFiles [ m_tempUndoIndex ] ) ; try { loader . setFile ( m_tempUndoFiles [ m_tempUndoIndex ] ) ; setInstancesFromFile ( loader ) ; } catch ( Exception e ) { e . printStackTrace ( ) ; m_Log . logMessage ( e . toString ( ) ) ; JOptionPane . showMessageDialog ( PreprocessPanel . this , "Cannot perform undo operation!\n" + e . toString ( ) , "Undo" , JOptionPane . ERROR_MESSAGE ) ; } m_tempUndoFiles [ m_tempUndoIndex ] = null ; } int temp = m_tempUndoIndex - 1 ; if ( temp < 0 ) { temp = m_tempUndoFiles . length - 1 ; } m_UndoBut . setEnabled ( m_tempUndoFiles [ temp ] != null ) ; }
reverts to the last backed up version of the dataset .
