public int CreateFilterCopy(int filterId) { int key = System.DateTime.UtcNow.Ticks.GetHashCode(); while (_filterList.ContainsKey(key)) { key++; } if (_filterList.ContainsKey(filterId)) { _filterList.Add(key, FilterData.DeepCopy <FilterData>(_filterList[filterId])); } else { throw new Exception("no filter"); } return(key); }