private string GetIdOfFile(string item)
{
string id;
if (_mapItemToId.TryGetValue(item, out id))
return id;
id = ToValidXmlId(Path.GetFileNameWithoutExtension(item));
var idOriginal = id;
for (int i = 1; _idsUsed.Contains(id.ToLowerInvariant()); i++)
{
// Somehow we made a clash
id = idOriginal + i;
}
_idsUsed.Add(id.ToLowerInvariant());
_mapItemToId[item] = id;
return id;
}