public override Node DeepClone() { BracketNode clone = new BracketNode(CompetitorA.DeepClone(), CompetitorB.DeepClone()); if (BestCompetitor == CompetitorA) { clone.BestCompetitor = clone.CompetitorA; } else if (BestCompetitor == CompetitorB) { clone.BestCompetitor = clone.CompetitorB; } return(clone); }