public static void RestoreSnapshot(RestoreOptions o) { var snapshotStore = CreateSnapshotStore(o.Repository); Stream OpenWrite(string blobName) { var file = Path.Combine(o.Directory, blobName); DirectoryUtil.CreateParent(file); var mode = o.Overwrite ? FileMode.Create : FileMode.CreateNew; return(new FileStream(file, mode, FileAccess.Write)); } snapshotStore.RetrieveSnapshot( o.SnapshotId, new Fuzzy( o.IncludePatterns, FuzzyOption.EmptyMatchesAll), OpenWrite); }