private void CreateObservations() { if (MetricData.Count <= 1) { return; } if (!MetricData.All(md => md.Timestamps.Any())) { return; } var personMetrics = MetricData.First(); var classMetrics = MetricData.Skip(1).ToList(); PersonObservation = new ObservationWindow(personMetrics); ClassObservations = classMetrics.Select(classMetric => new ObservationWindow(classMetric)).ToList(); ObservationsCreated?.Invoke( PersonObservation.Values.Count, PersonObservation.FirstObservation, PersonObservation.LastObservation); }