@Override
    public Collection<V> values() {
        return map.values();
    }
This is a thread hash map for small collections that are stable once built. Until it is stable there will be a
race among all threads missing something in the map. They will then clone the map add the missing stuff and then put
it back as active again. Here are no locks, but the cost is that inserts will happen a lot more than necessary. The
map reference is volatile, but on most multicpu machines that has no cost unless modified.

@author baldersheim
vespajlib/src/main/java/com/yahoo/concurrent/CopyOnWriteHashMap.java