public TelemetrySample Clone() { TelemetrySample sample = new TelemetrySample { Time = Time, Data = new Dictionary<int, Dictionary<int, object>>() }; foreach(KeyValuePair<int, Dictionary<int, object>> kvp in this.Data) { sample.Data.Add(kvp.Key, new Dictionary<int, object>(kvp.Value)); } return sample; }