public void Dispose()
{
if (_originalPathToProcessedVersionPath == null)
return;
TryToDeleteCachedImages();
_originalPathToProcessedVersionPath = null;
//NB: this turns out to be dangerous. Without it, we still delete all we can, leave some files around
//each time, and then deleting them on the next run
// _cacheFolder.Dispose();
GC.SuppressFinalize(this);
}