protected override Value Evaluate(ValueContainer scopes) { InitExpression.Process(scopes); Value lastVal = null; while (CondExpression.Process(scopes).IsTrue) { lastVal = OnExecute.Process(scopes); if (lastVal?.IsReturning ?? false) { return(lastVal); } IncrementExpression.Process(scopes); } return(lastVal); }