private void Close() { _dataObserverSubscriber.Disposable = Disposable.Empty; _sessionEventsSubscriber.Disposable = Disposable.Empty; _schedulerDisposable.Disposable = Disposable.Empty; if (_isRecording) { _isRecording = false; SaveRecordingSettings(); SaveRecordingDefinition(); _result.Close(); if (_recording.StartedAt.HasValue && _recording.StartedAt.Value > DateTime.MinValue) { //var result = new LocalSessionRecordingResult(_recording, _paths.RootPath, Paths); //_recording.Results.Add(result); Closed?.Invoke(this, _result); } else { _recording.Results.Remove(_result); _result.Paths.Clear(); _paths.Clean(); } } }