void notifyBackendChange(final IBackend b, final BackendEvent type,
final IProject project, final String moduleName) {
final Object[] copiedListeners = listeners.toArray();
for (final Object element : copiedListeners) {
final IBackendListener listener = (IBackendListener) element;
switch (type) {
case ADDED:
listener.runtimeAdded(b);
break;
case REMOVED:
listener.runtimeRemoved(b);
break;
case MODULE_LOADED:
listener.moduleLoaded(b, project, moduleName);
break;
default:
// ignore
}
}