@Override public boolean batchFinished(){
  if (getInputFormat() == null) {
    throw new IllegalStateException("No input instance format defined");
  }
  Instances toFilter=getInputFormat();
  int cutOff=(int)Math.round(toFilter.numInstances() * m_Percentage / 100);
  if (m_Inverse) {
    for (int i=0; i < cutOff; i++) {
      push(toFilter.instance(i));
    }
  }
 else {
    for (int i=cutOff; i < toFilter.numInstances(); i++) {
      push(toFilter.instance(i));
    }
  }
  flushInput();
  m_NewBatch=true;
  m_FirstBatchDone=true;
  return (numPendingOutput() != 0);
}

@ Override public boolean batchFinished ( ) { if ( getInputFormat ( ) == null ) { throw new IllegalStateException ( "No input instance format defined" ) ; } Instances toFilter = getInputFormat ( ) ; int cutOff = ( int ) Math . round ( toFilter . numInstances ( ) * m_Percentage / 100 ) ; if ( m_Inverse ) { for ( int i = 0 ; i < cutOff ; i ++ ) { push ( toFilter . instance ( i ) ) ; } } else { for ( int i = cutOff ; i < toFilter . numInstances ( ) ; i ++ ) { push ( toFilter . instance ( i ) ) ; } } flushInput ( ) ; m_NewBatch = true ; m_FirstBatchDone = true ; return ( numPendingOutput ( ) != 0 ) ; }
signify that this batch of input to the filter is finished . output ( ) may now be called to retrieve the filtered instances .
