private async Task CloseHandles() { ProcedureInformation.FlushDataAndCloseObject(); SystemInformation.FlushDataAndCloseObject(); CalibrationGroup.FlushDataAndCloseObject(); //wait for writing all data before resetting if (EIT != null) { await EIT.WaitForDataWritten(); EIT.Dispose(); } if (ECG != null) { await ECG.WaitForDataWritten(); ECG.Dispose(); } if (SystemEvents != null) { await SystemEvents.WaitForDataWritten(); SystemEvents.Dispose(); } if (RPosition != null) { await RPosition.WaitForDataWritten(); RPosition.Dispose(); } if (Tags != null) { await Tags.WaitForDataWritten(); Tags.Dispose(); } if (UserEventsGroup != null) { await UserEventsGroup.WaitForDataWritten(); UserEventsGroup.Dispose(); } await Task.CompletedTask; }