public void map(K key, V value) {List<V> elementsForKey = get(key);if ( elementsForKey==null ) {elementsForKey = new ArrayList<V>();super.put(key, elementsForKey);}elementsForKey.add(value);}

public virtual void Map(K key, V value){IList<V> elementsForKey;if (!TryGetValue(key, out elementsForKey)){elementsForKey = new ArrayList<V>();this[key] = elementsForKey;}elementsForKey.Add(value);}
