public object Clone() { CardSet cloned_set = new CardSet(); foreach (Card card in this.card_set) cloned_set.Add((Card)(card.Clone())); return cloned_set; }