public void ResetDatabase() { lock (syncRoot) { if (snapshotStore.CurrentSnapshot == null) { var snapshot = PerformFullResetAndTakeSnapshot(); snapshotStore.CurrentSnapshot = snapshot; } else { snapshotService.RestoreFromSnapshot(snapshotStore.CurrentSnapshot); } } }