void ThreadyDigestWorker(object arg)
{
var input = (ThreadyDigestInput)arg;
var files = input.files;
var end = input.begin + input.chunksize;
if (end > files.Length) end = files.Length;
var rx = new Regex(FindDateTimePattern);
var hashed = new List<DataHash>();
for ( var i = input.begin; i < end; i++ )
{
var d = DigestFile( input.provider, files[i], rx );
hashed.Add(d);
input.results.Add(d);
if (input.stopOnCachable && d.Result != DataHashResult.Ok) break;
}
}