private synchronized void fireVizEvent(Object data) {
VizEvent event = new VizEvent(this, type, data);
for (int i = 0; i < listeners.size(); i++) {
WeakReference<VizEventListener> weakListener = listeners.get(i);
VizEventListener v = weakListener.get();
v.handleEvent(event);
}
}
public boolean hasListeners() {
return listeners.size() > 0;