guava/src/com/google/common/collect/ImmutableMap.java
@Override
  public ImmutableSet<Entry<K, V>> entrySet() {
    ImmutableSet<Entry<K, V>> result = entrySet;
    return (result == null) ? entrySet = createEntrySet() : result;
  }
@Override
  public ImmutableSet<Entry<K, V>> entrySet() {
    ImmutableSet<Entry<K, V>> result = entrySet;
    return (result == null) ? entrySet = createEntrySet() : result;
  }
Returns an immutable set of the mappings in this map. The iteration order is specified by the
method used to create this map. Typically, this is insertion order.