public Map<K, V> toMap() {
        return inner.collect(Collectors.toMap(
            Map.Entry::getKey,
            Map.Entry::getValue
        ));
    }
Accumulates all key-value pairs of this {@code MapStream} into a {@code Map}.
<p>
If the mapped keys contains duplicates (according to
{@link Object#equals(Object)}), an {@code IllegalStateException} is
thrown when the collection operation is performed. If the mapped keys
may have duplicates, use {@link #toMap(BinaryOperator)}
instead.

<p>
The returned {@code Map} is not concurrent. For parallel stream
pipelines, the {@code combiner} function operates by merging the keys
from one map into another, which can be an expensive operation. If it is
not required that results are inserted into the {@code Map} in encounter
order, using {@link #toConcurrentMap()}
may offer better parallel performance.

@return  a {@code Map} whose keys and values are identical to the entries
         of this stream

@see #toMap(BinaryOperator)
@see #toConcurrentMap()
common-parent/mapstream/src/main/java/com/speedment/common/mapstream/MapStream.java