public List<Pair<K,V>> getPairs() {List<Pair<K,V>> pairs = new ArrayList<Pair<K,V>>();for (K key : keySet()) {for (V value : get(key)) {pairs.add(new Pair<K,V>(key, value));}}return pairs;}
public virtual IList<Tuple<K, V>> GetPairs(){IList<Tuple<K, V>> pairs = new ArrayList<Tuple<K, V>>();foreach (KeyValuePair<K, IList<V>> pair in this){foreach (V value in pair.Value){pairs.Add(Tuple.Create(pair.Key, value));}}return pairs;}