keyedBy(keySelector) {
        return this.toMap(keySelector, e => e);
    }
Returns a map where the items from the sequence are indexed by the result of running them through the given key
selector function.

If any duplicate keys are generated, an exception is thrown.

@param {!function(T): K} keySelector
@returns {!Map.<K, V>}
@template T, K, V