Map<K, V> whereKey(bool Function(K key) predicate) { Iterable<MapEntry<K, V>> iter = this.entries.where((MapEntry<K, V> kvp) => predicate(kvp.key)); return iter.asMap(); }