internal VariableInformation(string expr, VariableInformation parent)
 {
     Name    = expr;
     _parent = parent;
     _ctx    = parent._ctx;
     _engine = parent._engine;
     Client  = parent.Client;
 }
        public IVariableInformation FindChildByName(string name)
        {
            EnsureChildren();
            if (CountChildren == 0)
            {
                return(null);
            }
            Debug.Assert(Children != null, "Failed to find children");
            IVariableInformation var = Children.Find(c => c.Name == name);

            if (var != null)
            {
                return(var);
            }
            VariableInformation baseChild = null;

            //var = Array.Find(Children, (c) => c.VariableNodeType == NodeType.BaseClass && (baseChild = c.FindChildByName(name)) != null);
            return(baseChild);
        }