m_Log.statusMessage("Problem filtering instances");
	public void run() {	  try {	    Filter filter = (Filter) m_FilterEditor.getValue();	    if (filter != null) {	    	      if (m_Log instanceof TaskLogger) {		((TaskLogger)m_Log).taskStarted();	      }	      m_Log.statusMessage("Saving undo information");	      addUndoPoint();	      m_Log.statusMessage("Passing dataset through filter "				  + filter.getClass().getName());	      filter.setInputFormat(m_Instances);	      m_Instances = filter.useFilter(m_Instances, filter);	      setInstances(m_Instances);	      if (m_Log instanceof TaskLogger) {		((TaskLogger)m_Log).taskFinished();	      }	    }	    	  } catch (Exception ex) {		    if (m_Log instanceof TaskLogger) {	      ((TaskLogger)m_Log).taskFinished();	    }	    // Pop up an error optionpane	    JOptionPane.showMessageDialog(PreprocessPanel.this,					  "Problem filtering instances:\n"					  + ex.getMessage(),					  "Apply Filter",					  JOptionPane.ERROR_MESSAGE);	    ex.printStackTrace();	    m_Log.logMessage("Problem filtering instances: " + ex.getMessage());	  }	  m_IOThread = null;	}