private IFormulaToken CompleteBracket(IList<IFormulaToken> tokens, int index)
{
var parenthesisToken = (FormulaTokenParenthesis) tokens[index];
return (parenthesisToken.IsOpening
? CompleteBrackets(tokens.Skip(index))
: CompleteBrackets(tokens.Take(index + 1).Reverse(), false)).First();
}