public void fireSubLWorkerStartedEvent(SubLWorkerEvent event) {
    if (event.getEventType() != SubLWorkerEvent.STARTING_EVENT_TYPE) {
      throw new RuntimeException("Got bad event type; " + 
        event.getEventType().getName());
    }
    setId(event.getId());
    synchronized(listeners) {
   Object[] curListeners = listeners.getListenerList();
    for (int i = curListeners.length-2; i >= 0; i -= 2) {
      if (curListeners[i] == listenerClass) {
        try {
          ((SubLWorkerListener)curListeners[i+1]).notifySubLWorkerStarted(event);
        } catch (Exception e) {
          Logger.getLogger(this.getClass().toString()).log(Level.WARNING, e.getMessage(), e);
        }
      }
    }
    }
  }