public int ConvertFromRomanToArabNumber(string romanNumber)
{
var result = 0;
var previousCount = 0;
var abacus = new List<int>();
for (int i = 0; i < romanNumber.Length; i++)
{
abacus.Add(ConvertFromRomanToArabDigit(romanNumber[i]));
}
while (abacus.Count != 0)
{
previousCount = abacus.Count;
SubtractThatPossible(abacus);
result = AddUpAllIfPossible(abacus, previousCount, result);
}
return result;
}