public static <K, V> MapStream<K, V> of(Map<K, V> map, boolean parallel) {
        final MapStream<K, V> stream = new MapStream<>(requireNonNull(map).entrySet().stream());
        if (parallel) stream.inner = stream.inner.parallel();
        return stream;
    }
Constructs a new {@code MapStream} from a map of key-value pairs. The map
will not be affected.
<p>
This is equivalent to writing the following if {@code parallel} is set to
{@code true}:
{@code MapStream.of(map.entrySet().stream().parallel());}

@param <K>       key type
@param <V>       value type
@param map       elements to stream over
@param parallel  if the new stream should be executed in parallel
@return          created {@code MapStream}
@throws NullPointerException if any of the provided parameters are {@code null}
common-parent/mapstream/src/main/java/com/speedment/common/mapstream/MapStream.java