synchronized(m_events) {   m_events.add(event);
Method m = (Method) m_eventTypes.get(event.getClass()); if (m != null) { Object o[] = new Object[1]; o[0] = event; try { m.invoke(null, o); } catch (IllegalArgumentException e) { if (_log.isErrorEnabled()) { _log.error("Unable to publish event: " + event); } } catch (IllegalAccessException e) { if (_log.isErrorEnabled()) { _log.error("Unable to publish event: " + event); } } catch (InvocationTargetException e) { if (_log.isErrorEnabled()) { _log.error("Unable to publish event: " + event); } } } else { if (_log.isDebugEnabled()) { _log.debug("Dropping event: " + event); }
  public static void publishEvent(FailureEvent event) {    synchronized(m_events) {        // Event listener has not been configured yet.        // Queue messages.        m_events.add(event);    }  }