@Override public void doRunKeys(int run) throws Exception {
  if (m_Instances == null) {
    throw new Exception("No Instances set");
  }
  for (int fold=0; fold < m_NumFolds; fold++) {
    Object[] seKey=m_SplitEvaluator.getKey();
    Object[] key=new Object[seKey.length + 3];
    key[0]=Utils.backQuoteChars(m_Instances.relationName());
    key[1]="" + run;
    key[2]="" + (fold + 1);
    System.arraycopy(seKey,0,key,3,seKey.length);
    if (m_ResultListener.isResultRequired(this,key)) {
      try {
        m_ResultListener.acceptResult(this,key,null);
      }
 catch (      Exception ex) {
        throw ex;
      }
    }
  }
}

@ Override public void doRunKeys ( int run ) throws Exception { if ( m_Instances == null ) { throw new Exception ( "No Instances set" ) ; } for ( int fold = 0 ; fold < m_NumFolds ; fold ++ ) { Object [ ] seKey = m_SplitEvaluator . getKey ( ) ; Object [ ] key = new Object [ seKey . length + 3 ] ; key [ 0 ] = Utils . backQuoteChars ( m_Instances . relationName ( ) ) ; key [ 1 ] = "" + run ; key [ 2 ] = "" + ( fold + 1 ) ; System . arraycopy ( seKey , 0 , key , 3 , seKey . length ) ; if ( m_ResultListener . isResultRequired ( this , key ) ) { try { m_ResultListener . acceptResult ( this , key , null ) ; } catch ( Exception ex ) { throw ex ; } } } }
gets the keys for a specified run number . different run numbers correspond to different randomizations of the data . keys produced should be sent to the current resultlistener
