void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Comparer", this._keyComparer); info.AddValue("Level2", _Level1Cache.Select(kvp => new KeyValuePair <TKey, TValue>(kvp.Key, (TValue)kvp.Value._Item)).ToList()); }