private void fireOnMessage(JSONObject msg) {
   for (WebChannelListener l : listeners) {
     try {
       l.onMessage(this, msg);
     } catch (Throwable th) {
       log.warn("Error occurred while firing event 'message' on a listener", th);
     }
   }
 }
 private void fireOnClose() {
   for (WebChannelListener l : listeners) {
     try {
       l.onClose(this);
     } catch (Throwable th) {
       log.warn("Error occurred while firing event 'close' on a listener", th);
     }
   }
 }
 private void fireOnOpen(JSONObject init) {
   for (WebChannelListener l : listeners) {
     try {
       l.onOpen(this, init);
     } catch (Throwable th) {
       log.warn("Error occurred while firing event 'open' on a listener", th);
     }
   }
 }