guava/src/com/google/common/collect/ImmutableMap.java
@Override
  public ImmutableSet<K> keySet() {
    ImmutableSet<K> result = keySet;
    return (result == null) ? keySet = createKeySet() : result;
  }
@Override
  public ImmutableSet<K> keySet() {
    ImmutableSet<K> result = keySet;
    return (result == null) ? keySet = createKeySet() : result;
  }
Returns an immutable set of the keys in this map, in the same order that they appear in {@link
#entrySet}.