if (listeners.length == 0) { queuedMessages.add(status); return; }
	public static void log(final IStatus status) {		// create array to avoid concurrent access		ILogListener[] listeners;		synchronized (logListeners) {			listeners = (ILogListener[]) logListeners.toArray(new ILogListener[logListeners.size()]);		}		for (int i = 0; i < listeners.length; i++) {			try {				listeners[i].logging(status, IRuntimeConstants.PI_RUNTIME);			} catch (Exception e) {				handleException(e);			} catch (LinkageError e) {				handleException(e);			}		}	}