private void notifyStatChange(int eventType) {
    try {
      Object[] curListeners = listeners.getListenerList();
      CycWorkerEvent cwe = null;
      for (int i = curListeners.length-2; i>=0; i-=2) {
	if (curListeners[i]==CycWorkerListener.class) {
	  if (cwe == null) { cwe = new CycWorkerEvent(this); }
	  switch(eventType) {
	  case CYC_WORKER_START:
	    ((CycWorkerListener)curListeners[i+1]).
	      notifyWorkerStarted(cwe);
	    break;
	  case CYC_WORKER_INTERRUPT:
	    ((CycWorkerListener)curListeners[i+1]).
	      notifyWorkerInterrupted(cwe);
	    break;
	  case CYC_WORKER_FINISHED:
	    ((CycWorkerListener)curListeners[i+1]).
	      notifyWorkerFinished(cwe);
	    break;
	  }
	}
      }
    } catch (Exception e) { e.printStackTrace(); }
  }