public int GetValue(out int level) { int sum1 = 0; if (IsNumber()) { level = 1; return((int)_val); } else if (IsListOfNumbers()) { level = 2; for (var i = 0; i < _list.Count; i++) { sum1 += _list[i]; } return(sum1); } else { sum1 = _nestedList.GetValue(out level); level += 2; return(sum1); } }