@Override
  public Collection<V> values() {
    final Collection<V> vs = values;
    return (vs != null) ? vs : (values = new Values());
  }
Returns a {@link Collection} view of the values contained in this map. The collection is backed
by the map, so changes to the map are reflected in the collection, and vice-versa. The
collection supports element removal, which removes the corresponding mapping from this map, via
the <tt>Iterator.remove</tt>, <tt>Collection.remove</tt>, <tt>removeAll</tt>,
<tt>retainAll</tt>, and <tt>clear</tt> operations. It does not support the <tt>add</tt> or
<tt>addAll</tt> operations.

<p>
The view's <tt>iterator</tt> is a "weakly consistent" iterator that will never throw
{@link java.util.ConcurrentModificationException}, and guarantees to traverse elements as they
existed upon construction of the iterator, and may (but is not guaranteed to) reflect any
modifications subsequent to construction.
geode-core/src/main/java/org/apache/geode/internal/util/concurrent/CustomEntryConcurrentHashMap.java