HashMap< K, V>.fromIterable constructor
    Creates a HashMap where the keys and values are computed from the
iterable.
For each element of the iterable this constructor computes a key/value
pair, by applying key and value respectively.
The keys of the key/value pairs do not need to be unique. The last occurrence of a key will simply overwrite any previous value.
If no values are specified for key and value the default is the
identity function.
Implementation
factory HashMap.fromIterable(Iterable iterable,
    {K key(element), V value(element)}) {
  Map<K, V> map = new HashMap<K, V>();
  MapBase._fillMapWithMappedIterable(map, iterable, key, value);
  return map;
}