protected override async Task <int> InitChildrenCountAsync()
        {
            if (_treeItems.Size != null)
            {
                IVariableInformation sizeVariable = await _evaluator.EvaluateExpressionAsync(
                    _treeItems.Size, _variable, _natvisScope, null);

                sizeVariable.FallbackValueFormat = ValueFormat.Default;

                uint size;
                _sizeDefined = _sizeParser.ParseUint(await sizeVariable.ValueAsync(), out size);
                if (!_sizeDefined)
                {
                    throw new ExpressionEvaluationFailed(
                              "Failed to evaluate <Size> node. The expression's value " +
                              $"was not a number. Expression='{_treeItems.Size}' " +
                              $"Value='{await sizeVariable.ValueAsync()}'");
                }

                return((int)size);
            }

            return(await EvaluateChildrenCountAsync());
        }