@Override public void acceptInstance(InstanceEvent e){
  m_busy=true;
  if (e.getStatus() == InstanceEvent.FORMAT_AVAILABLE) {
    m_throughput=new StreamThroughput(statusMessagePrefix());
    Instances structure=e.getStructure();
    try {
      makeOutputStructure(structure);
    }
 catch (    Exception ex) {
      String msg=statusMessagePrefix() + "ERROR: unable to create output instances structure.";
      if (m_log != null) {
        m_log.statusMessage(msg);
        m_log.logMessage("[SubstringLabeler] " + ex.getMessage());
      }
      stop();
      ex.printStackTrace();
      m_busy=false;
      return;
    }
    if (!e.m_formatNotificationOnly) {
      if (m_log != null) {
        m_log.statusMessage(statusMessagePrefix() + "Processing stream...");
      }
    }
    m_ie.setStructure(m_matches.getOutputStructure());
    m_ie.m_formatNotificationOnly=e.m_formatNotificationOnly;
    notifyInstanceListeners(m_ie);
  }
 else {
    Instance inst=e.getInstance();
    Instance out=null;
    if (inst != null) {
      m_throughput.updateStart();
      try {
        out=m_matches.makeOutputInstance(inst,false);
      }
 catch (      Exception e1) {
        e1.printStackTrace();
      }
      m_throughput.updateEnd(m_log);
    }
    if (inst == null || out != null || e.getStatus() == InstanceEvent.BATCH_FINISHED) {
      m_ie.setInstance(out);
      m_ie.setStatus(e.getStatus());
      notifyInstanceListeners(m_ie);
    }
    if (e.getStatus() == InstanceEvent.BATCH_FINISHED || inst == null) {
      m_throughput.finished(m_log);
    }
  }
  m_busy=false;
}

@ Override public void acceptInstance ( InstanceEvent e ) { m_busy = true ; if ( e . getStatus ( ) == InstanceEvent . FORMAT_AVAILABLE ) { m_throughput = new StreamThroughput ( statusMessagePrefix ( ) ) ; Instances structure = e . getStructure ( ) ; try { makeOutputStructure ( structure ) ; } catch ( Exception ex ) { String msg = statusMessagePrefix ( ) + "ERROR: unable to create output instances structure." ; if ( m_log != null ) { m_log . statusMessage ( msg ) ; m_log . logMessage ( "[SubstringLabeler] " + ex . getMessage ( ) ) ; } stop ( ) ; ex . printStackTrace ( ) ; m_busy = false ; return ; } if ( ! e . m_formatNotificationOnly ) { if ( m_log != null ) { m_log . statusMessage ( statusMessagePrefix ( ) + "Processing stream..." ) ; } } m_ie . setStructure ( m_matches . getOutputStructure ( ) ) ; m_ie . m_formatNotificationOnly = e . m_formatNotificationOnly ; notifyInstanceListeners ( m_ie ) ; } else { Instance inst = e . getInstance ( ) ; Instance out = null ; if ( inst != null ) { m_throughput . updateStart ( ) ; try { out = m_matches . makeOutputInstance ( inst , false ) ; } catch ( Exception e1 ) { e1 . printStackTrace ( ) ; } m_throughput . updateEnd ( m_log ) ; } if ( inst == null || out != null || e . getStatus ( ) == InstanceEvent . BATCH_FINISHED ) { m_ie . setInstance ( out ) ; m_ie . setStatus ( e . getStatus ( ) ) ; notifyInstanceListeners ( m_ie ) ; } if ( e . getStatus ( ) == InstanceEvent . BATCH_FINISHED || inst == null ) { m_throughput . finished ( m_log ) ; } } m_busy = false ; }
accept and process an instance event
