@Nonnull
    @SuppressWarnings("unchecked")
    @Override
    public <T> Channel<T> getChannel(@Nonnull String name, @Nonnull TypeToken<T> type) {
        Objects.requireNonNull(name, "name");
        Preconditions.checkArgument(!name.trim().isEmpty(), "name cannot be empty");
        Objects.requireNonNull(type, "type");

        return (Channel<T>) this.channels.getUnchecked(Maps.immutableEntry(name, type));
    }
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