internal string GenerateName(Mask mask)
{
if (_currentFile == null)
throw new NullReferenceException("File is not loaded");
if (mask == null)
throw new ArgumentException("Incorrect mask");
var newName = mask.ToString();
var currentTags = _currentFile.GetTags();
foreach (var item in mask)
{
var tagValue = currentTags.GetTag(item);
if (string.IsNullOrEmpty(tagValue))
throw new InvalidOperationException("tag is empty");
newName = newName.Replace("{" + item + "}", tagValue);
}
return newName;
}