internal override object Clone(SqlNodeCloneContext context) { if (context.NodeMapping.ContainsKey(this)) { return(context.NodeMapping[this]); } SqlDelete clone = new SqlDelete(); if (Delete != null) { clone.Delete = (SqlTableRef)Delete.Clone(context); } if (from != null) { clone.From = (SqlQueryRef)from.Clone(context); } if (!where.IsNullReference()) { clone.Where = (SqlExpression) where.Clone(context); } if (Hints.Count > 0) { foreach (SqlHint hint in Hints) { clone.Hints.Add((SqlHint)hint.Clone(context)); } } context.NodeMapping[this] = clone; return(clone); }