protected override QuerySource CloneInstance(Dictionary <ICloneableElement, ICloneableElement> objectTree, Predicate <ICloneableElement> doClone) { var table = new Table { _objectType = ObjectType, SqlTable = (SqlTable)SqlTable.Clone(objectTree, doClone) }; foreach (var c in _columns) { table._columns.Add(c.Key, (Column)c.Value.Clone(objectTree, doClone)); } return(table); }