private void onIncomingMessage(byte[] message) {
            try {
                T decoded = this.codec.decode(message);
                Objects.requireNonNull(decoded, "decoded");

                for (AbstractChannelAgent<T> agent : this.agents) {
                    try {
                        agent.onIncomingMessage(decoded);
                    } catch (Exception e) {
                        new RuntimeException("Unable to pass decoded message to agent: " + decoded, e).printStackTrace();
                    }
                }

            } catch (Exception e) {
                new RuntimeException("Unable to decode message: " + Base64.getEncoder().encodeToString(message), e).printStackTrace();
            }
        }
Distributes an oncoming message to the channels held in this messenger.

@param channel the channel the message was received on
@param message the message
helper/src/main/java/me/lucko/helper/messaging/AbstractMessenger.java