public override IEnumerable<IFormulaToken> Tokenize()
{
// split off tokens from the string representation
var tokens = new List<IFormulaToken>();
var value = Value.ToString("R", ServiceLocator.CultureService.GetCulture());
while (value.Length != 0)
{
var mapping = TokenMappings.First(kvp => value.StartsWith(kvp.Key));
tokens.Add(mapping.Value.Invoke());
value = value.Remove(0, mapping.Key.Length);
}
return tokens;
}