public string CalculateETag(FileInfo file)
{
var material = new StringBuilder();
material.AppendLine(file.FullName);
material.AppendLine(file.LastWriteTime.Ticks.ToString());
material.AppendLine(file.Length.ToString());
var hash = m_hashAlgorithm.ComputeHash(Encoding.UTF8.GetBytes(material.ToString()));
return(ETagUtil.CreateWeakETag(new string( hash.SelectMany(b => b.ToString("x2").ToLower()).ToArray())));
}