public virtual object Clone() { dcObject newone = new dcObject(); CloneTo(newone); return newone; }
protected dcObject CloneTo(dcObject dc) { dc.NameInSymbol = this.NameInSymbol; foreach (dcSymbol sym in variables.Keys) { dc.set_variables(sym, variables[sym].Clone() as dcData); } return dc; }