@SuppressWarnings({"rawtypes", "unchecked"}) public void onEvent( NamespaceClient client, String eventName, List<Object> args, AckRequest ackRequest) { EventEntry entry = eventListeners.get(eventName); if (entry == null) { return; } try { Queue<DataListener> listeners = entry.getListeners(); for (DataListener dataListener : listeners) { Object data = getEventData(args, dataListener); dataListener.onData(client, data, ackRequest); } } catch (Exception e) { exceptionListener.onEventException(e, args, client); if (ackMode == AckMode.AUTO_SUCCESS_ONLY) { return; } } sendAck(ackRequest); }