Extended to be usable with MultiMap and IList