private CWNode ToMyNode(Node n) { var leaves = n.AllChildren.Where(x => x.IsLeafC).Select(x => ToMyKeyValue(x.leaf)).ToList(); var tempAccessor = scriptedVariablesAccessor.CreateNew(leaves); var nodes = n.AllChildren.Where(x => x.IsNodeC).Select(x => ToMyNode(x.node, tempAccessor)).ToList(); var values = n.AllChildren.Where(x => x.IsLeafValueC).Select(x => x.lefavalue.Key).ToList(); return(new CWNode(n.Key) { Nodes = nodes, Values = values, RawKeyValues = leaves, ScriptedVariablesAccessor = tempAccessor }); }
public IScriptedVariablesAccessor CreateNew(IEnumerable <CWKeyValue> node) { return(new DelegatingScriptedVariablesAccessor(primary.CreateNew(node), fallback)); }