@Nonnull
    public static <T, K> MappedChannelReceiver<T, K, T> create(@Nonnull Channel<T> channel, @Nonnull Function<? super T, ? extends K> keyMapper, Map<K, T> map) {
        return create(channel, keyMapper, Function.identity(), map);
    }
Creates a new mapped channel receiver.

@param channel the channel
@param keyMapper the function used to map keys
@param map the map instance used to back the instance
@param <T> the message type
@param <K> the key type
@return a new mapped channel receiver
helper/src/main/java/me/lucko/helper/messaging/util/MappedChannelReceiver.java