public static IEnumerable<Tuple<Modification, int>> ParseModificationLine(string line)
{
foreach (Tuple<string, int> mod in SplitModificationLine(line))
{
string modName = mod.Item1;
Modification groupedMod;
if (GroupedModifications.TryGetValue(modName, out groupedMod))
{
yield return new Tuple<Modification, int>(groupedMod, mod.Item2);
}
else
{
OmssaModification modification;
if (TryGetModification(modName, out modification))
{
yield return new Tuple<Modification, int>(modification, mod.Item2);
}
else
{
throw new KeyNotFoundException("Modification: " + mod.Item1 + " is not found in the modification dictionary");
}
}
}
}