public String toString() {
    Node<V>[] t;
    int f = (t = table) == null ? 0 : t.length;
    Traverser<V> it = new Traverser<>(t, f, 0, f);
    StringBuilder sb = new StringBuilder();
    sb.append('{');
    Node<V> p;
    if ((p = it.advance()) != null) {
      for (;;) {
        V k = p.key;
        sb.append(k == this ? "(this Set)" : k);
        if ((p = it.advance()) == null) {
          break;
        }
        sb.append(',').append(' ');
      }
    }
    return sb.append('}').toString();
  }
Returns a string representation of this map. The string representation consists of a list of
key-value mappings (in no particular order) enclosed in braces (<code>{}</code>). Adjacent
mappings are separated by the characters <code>", "</code> (comma and space). Each key-value
mapping is rendered as the key followed by an equals sign (<code>=</code>) followed by the
associated value.

@return a string representation of this map
geode-core/src/main/java/org/apache/geode/internal/concurrent/CompactConcurrentHashSet2.java