/guava/guava/src/com/google/common/collect/ImmutableEnumMap.java
this.delegate = null;
this.delegate = delegate;
default: return new ImmutableEnumMap<>(map); } } private final transient EnumMap<K, V> delegate; private ImmutableEnumMap(EnumMap<K, V> delegate) { <extra_id_0> checkArgument(!delegate.isEmpty()); } @Override UnmodifiableIterator<K> keyIterator() { return Iterators.unmodifiableIterator(delegate.keySet().iterator()); }