public void start(){
  if (monitorThread != null) {
    if (!monitorThread.isAlive()) {
      startMonitorThread();
    }
 else {
      LOG.error("The monitor thread is already running");
    }
  }
 else {
    startMonitorThread();
  }
}

public void start ( ) { if ( monitorThread != null ) { if ( ! monitorThread . isAlive ( ) ) { startMonitorThread ( ) ; } else { LOG . error ( "The monitor thread is already running" ) ; } } else { startMonitorThread ( ) ; } }
starts the publishing monitor once and only once .
