void IMarketDataStorageDrive.SaveStream(DateTime date, Stream stream)
			{
				date = date.ChangeKind(DateTimeKind.Utc);

				Directory.CreateDirectory(GetDataPath(date));

				using (var file = File.OpenWrite(GetPath(date, false)))
					stream.CopyTo(file);

				var dates = DatesDict;

				dates[date] = date;

				SaveDates(Dates.ToArray());
			}
			Stream IMarketDataStorageDrive.LoadStream(DateTime date)
			{
				var path = GetPath(date.ChangeKind(DateTimeKind.Utc), true);

				return File.Exists(path)
					? File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.Read)
					: Stream.Null;
			}
			void IMarketDataStorageDrive.Delete(DateTime date)
			{
				date = date.ChangeKind(DateTimeKind.Utc);

				var path = GetPath(date, true);

				if (File.Exists(path))
				{
					File.Delete(path);

					var dir = GetDirectoryName(path);

					if (Directory.EnumerateFiles(dir).IsEmpty())
					{
						lock (_cacheSync)
							InteropHelper.BlockDeleteDir(dir);
					}
				}

				var dates = DatesDict;

				dates.Remove(date);

				SaveDates(Dates.ToArray());
			}