private void AddOrUpdate(TestRunInformation item, FileLocation location)
        {
            lock (_hash)
            {
                if (_fileLocations.ContainsKey(item.Name))
                {
                    UpdateProjectionsRemoval(LookUpByName(item.Name));
                    _fileWaste += _fileLocations[item.Name].Length;
                    _fileLocations[item.Name] = location;
                    _totalSize += location.Length;
                    if (_useCache)
                        _hash[item.Name] = item;

                }
                else
                {
                    _fileLocations.Add(item.Name, location);
                    _totalEntries++;
                    _totalSize += location.Length;
                    if (_useCache)
                        _hash.Add(item.Name, item);
                }
            }
            UpdateProjections(item);
        }