private IEnumerable<IFormulaToken> SetOrigin(IList<IFormulaToken> tokens)
{
for (var index = 0; index < tokens.Count; index++)
{
var token = tokens[index];
// clones tokens because _origin depends on unique tokens
token = token.Clone();
SetOrigin(token, Range.Single(index));
yield return token;
}
}