public int UseFormulaWithValues(IFormula formula, params IValue[] values)
        {
            var expression = "";

            var steps = formula.AllSteps();

            foreach (IStep step in steps)
            {
                if (step is IField)
                {
                    expression += this.ValueForField(step as IField, values);
                    continue;
                }

                expression += step.ToString();
            }

            return(this.parser.Evaluate(expression));
        }