public MapStream<K, V> distinctValues() {
        final Set<V> temp = newSetFromMap(new ConcurrentHashMap<>());
        
        inner = inner.flatMap(e -> 
            temp.add(e.getValue()) 
                ? Stream.of(e) 
                : Stream.empty()
        );
        
        return this;
    }
Returns a stream consisting of the distinct elements (according to
{@link Object#equals(Object)}) of this stream based on the value only. If 
the same value is encountered multiple times, only the first occurence 
will be allowed to pass.
<p>
This is a stateful intermediate operation.

@return the new stream
common-parent/mapstream/src/main/java/com/speedment/common/mapstream/MapStream.java