protected void broadcast(final AtmosphereResource<?, ?> r, final AtmosphereResourceEvent e) { try { r.getAtmosphereHandler().onStateChange(e); } catch (IOException ex) { if (AtmosphereResourceImpl.class.isAssignableFrom(r.getClass())) { AtmosphereResourceImpl.class.cast(r).notifyListeners(e); } onException(ex, r); } catch (RuntimeException ex) { if (AtmosphereResourceImpl.class.isAssignableFrom(r.getClass())) { AtmosphereResourceImpl.class.cast(r).notifyListeners(e); } onException(ex, r); } }